《Python基础教程》笔记(ch0-1)

在这里插入图片描述

前言

在Python生态系统中,各种包轮番登场,各种编码实践大行其道后又日渐式微。

引言

Python是什么?为何要使用它?官方宣传说:Python是一种面向对象的解释性高级编程语言,具有动态语义

这句话的要点在于,Python是一种知道如何不妨碍你编写程序的编程语言。它让你能够毫无困难地实现所需的功能,还让你能够编写出清晰易懂的程序。

Python广泛用于完成系统管理任务(例如,它是多个Linux发行版的重要组成部分),也被用来向新手介绍编程。

本书是为有志于学习Python编程的人写的,适合从编程门外汉到计算机高手的各种读者阅读。如果你没有任何编程经验,应从第1章开始阅读,阅读到看不懂的内容后,开始动手编写一些程序。等到条件成熟后,再回过头来继续阅读更复杂的内容。

目录

第1章 快速上手:基础知识👉本文剩余部分
第2章 列表和元组👉https://blog.csdn.net/holeer/article/details/146065683
第3章 使用字符串👉见上
第4章 当索引行不通时(字典)👉见上
第5章 条件、循环及其他语句👉https://blog.csdn.net/holeer/article/details/146063043
第6章 抽象(函数)👉https://blog.csdn.net/holeer/article/details/146039370
第7章 再谈抽象(面向对象编程)👉https://blog.csdn.net/holeer/article/details/146039498
第8章 异常👉https://blog.csdn.net/holeer/article/details/146017146
第9章 魔法方法、特性和迭代器👉https://blog.csdn.net/holeer/article/details/146014690
第10章 开箱即用(模块)👉https://blog.csdn.net/holeer/article/details/145996542
第11章 文件👉https://blog.csdn.net/holeer/article/details/145987876
第12章 图形用户界面
第13章 数据库支持👉https://blog.csdn.net/holeer/article/details/145980186
第14章 网络编程
第15章 Python和Web
第16章 测试基础👉https://blog.csdn.net/holeer/article/details/145970034
第17章 扩展Python
第18章 程序打包👉https://blog.csdn.net/holeer/article/details/145708590
第19章 趣味编程
第20章 项目1:自动添加标签
第21章 项目2:绘制图表
第22章 项目3:万能的XML
第23章 项目4:新闻汇总
第24章 项目5:虚拟茶话会
第25章 项目6:使用CGI进行远程编辑
第26章 项目7:自建公告板
第27章 项目8:使用XML-RPC共享文件
第28章 项目9:使用GUI共享文件
第29章 项目10:自制街机游戏
附录A 简明教程👉https://blog.csdn.net/holeer/article/details/146185954
附录B Python参考手册👉https://blog.csdn.net/holeer/article/details/146186015

第1章 快速上手:基础知识

1.1 交互式解释器

如果你使用的是macOS或Linux,请打开终端,输入python并按回车键。你将看到一条欢迎消息,如下图所示。
在这里插入图片描述
具体的安装步骤视使用的操作系统和安装方式而异,但最简单的方法是访问www.python.org,其中有下载页面的链接。

这是一个交互式Python解释器。请尝试像下面这样做,以核实它是否管用:
在这里插入图片描述
如果你熟悉其他计算机语言,可能习惯了在每行末尾都加上分号。在Python中无需这样做,因为在Python中,一行就是一行

你可能不知道>>>是什么。在Python解释器中,>>>提示符,可在它后面输入一些内容。解释器对其进行处理后,会输出一些反馈信息,然后你可以继续输入。因此,Python解释器就是初学者学习Python最好的老师,因为编程的实践性很强,交互对话式学习是最好的学习方式。

如果随便输入一些东西呢?请看下图。
在这里插入图片描述
显然,解释器没有看懂。解释器还指出了问题出在什么地方,下面逐行解释。

>>> The Spanish Inquisition  ----- 你的输入
  File "<stdin>", line 1  ----- 问题出在输入的第一行
    The Spanish Inquisition ----- 用^标出出错的具体位置
        ^^^^^^^
SyntaxError: invalid syntax ----- 语法错误:无效语法

显然,问题在于语法错误。正如人讲话需要遵循一定的逻辑,与计算机交流也需要遵循一定的语法。

程序运行出错是很正常的事情,对此需要一分为二地看待:计算机的优点在于能提供即时反馈,程序出错会带来挫败感,修复错误的过程具有挑战性,使用计算机成功解决问题很有成就感

1.2 算法是什么

简而言之,计算机编程就是告诉计算机如何做。计算机多才多艺,但不太善于独立思考,我们必须提供详尽的细节,使用它们能够明白的语言将算法提供给它们。算法只不过是流程或菜谱的时髦说法,详尽地描述了如何完成某项任务。正如烹饪需要各种原料和步骤,算法也需要用各种原料和步骤来描述。

下面首先介绍一些非常简单的Python原料,看看可以对它们做些什么。以下表格中的“输入”和“输出”都是相对于Python解释器而言的。

1.3 数和表达式

运算符输入输出
/1/20.5
/1/11.0
//1//20
//1//11
//5.0//2.42.0
%1%21
%10%31
%9%30
%2.75%0.50.25
**2 ** 38
**-3 ** 2-9
**(-3) ** 29

在以上的表格中,斜杠/为实数除,双斜杠//为整除(相当于实数除再去尾),百分号%为取余,**为幂运算。注意,以上运算存在优先级:括号内>幂>乘除>加减。在运算符前后加上空格是很好的编程习惯,有时候适当添加括号可以使语义更加清晰。

有时候我们需要用到十六进制数、八进制数和二进制数,如以下表格所示。

进制前缀输入输出
十六0x0xAF175
0o0x108
0b0b1011010010722

在这里插入图片描述

1.4 变量

变量是表示(或指向)特定值的名称。下面举例说明。

上图中,x=3为赋值语句,x*2为运算表达式。

在这里插入图片描述

不同于其他一些语言,使用Python变量前必须给它赋值,因为Python变量没有默认值。这里体现的原则是:先赋值,后使用

【注意】在Python中,**名称(标识符)**只能由字母、数字和下划线(_)构成,且不能以数字打头。因此Plan9
是合法的变量名,而9Plan不是。

1.5 语句

表达式是一些东西,而语句做一些事情。例如,2*2的结果是4,而print(2 * 2)打印4。表达式和语句的行为很像,因此它们之间的界线可能并非那么明确。
在这里插入图片描述
在交互式解释器中执行时,这两段代码的结果没有任何差别,但这是因为解释器总是将表达式的值打印出来。然而,在Python中,情况并非都是这样的。本章后面将介绍如何创建无需交互式解释器就能运行的程序。仅将诸如2 * 2
等表达式放在程序中不会有任何作用,但在程序中包含print(2 * 2)将打印结果4。

涉及赋值时,语句和表达式的差别更明显:鉴于赋值语句不是表达式,它们没有可供交互式解释器打印的值。
在这里插入图片描述
执行赋值语句后,交互式解释器只是再次显示提示符,但发生了一些变化:有一个名为x的新变量,与值3相关联。可以说,这是所有语句的一个根本特征:执行修改操作。例如,赋值语句改变变量,而print语句改变屏幕的外观。变量就像是临时“存储区”(类似于菜谱中的锅碗瓢盆),其真正威力在于无需知道它们存储的值就能操作它们

例如,即便根本不知道x和y是什么,你也知道x * y的结果为x和y的乘积。因此,编写程序时,你能以各种方式使用变量,而无需知道程序运行时它们将存储(指向)的值。

1.6 获取用户输入

你编写的程序可能供他人使用,无法预测用户会向程序提供什么样的值。

下面看看很有用的函数input。
在这里插入图片描述
下面是一个更有趣的示例。
在这里插入图片描述
对于上述在Python提示符(>>>)下输入的语句,可将其放在完整的程序中,并让用户提供所需的值(34和42)。这样,这个程序将打印结果1428,即前述两个数的乘积。

【注意】将程序存储在独立的文件中,让其他用户能够执行时,这种获取输入的方式将有用得多。1.8节将介绍如何这样做。

1.7 函数

函数犹如小型程序,可用来执行特定的操作,比如下面的例子:

>>> 2 ** 3
8
>>> pow(2,3)
8

Python提供了很多内置函数。像前一个示例那样使用函数称为调用函数:你向它提供实参,而它返回一个值。鉴于函数调用返回一个值,因此它们也是表达式。

有多个内置函数可用于编写数值表达式。例如,abs计算绝对值,round将浮点数圆整为与之最接近的整数。

1.8 模块

可将模块视为扩展,通过将其导入可以扩展Python功能。要导入模块,可使用特殊命令import。

下面是一个导入math模块并使用其中的向下取整函数floor的示例。(向上取整函数为ceil)

>>> import math
>>> math.floor(32.9)
32

这里调用函数的方式是module.function

如果确定不会从不同模块导入多个同名函数,你可能不想每次调用函数时都指定模块名。在这种情况下,可使用命令import的如下变种:from module import function,如下面的示例所示。

>>> from math import sqrt
>>> sqrt(9)
3.0

【提示】事实上,可使用变量来引用函数(以及其他大部分Python元素)。执行赋值语句foo = math.sqrt
后,就可使用foo来计算平方根。例如,foo(4)的结果为2.0。

1.9 保存并执行程序

交互式解释器是Python的亮点之一,它让你能够实时地测试解决方案。然而,等你退出交互式解释器时,你在其中编写的所有代码都将丢失。编程的终极目标应该是编写自己和他人都能运行的程序。

Python程序文件的扩展名是.py,它实际上是一个纯文本文件。在写好程序之后,你需要保存文件并指定一个合适的文件名。

1.9.1 从终端运行Python脚本

如果在终端内执行python命令没有报错,且脚本在终端的工作目录中,则可以使用以下命令执行Python脚本:python hello.py

1.9.2 把脚本变成普通程序

在有些情况下,你希望能够像执行其他程序一样执行Python脚本(即输入程序名运行程序),而无需显式地使用Python解释器。

UNIX提供了实现这种目标的标准方式:
(1)让脚本的第一行以字符序列#!开始,并在它后面指定解释器的绝对路径。最简单的示例(使用全局默认Python解释器):#!/usr/bin/env python
(2)将脚本设置为可执行的:chmod a+x hello.py
(3)将脚本作为程序执行:hello.py./hello.py。你还可以去掉文件名中的.py,使其看起来更像普通程序。

在Windows中,用户通常通过双击运行程序,因此扩展名.py是让脚本像普通程序一样的关键所在。在这种情况下,通常建议在脚本末尾添加一行input("Press <enter>"),这样脚本运行完成之后不会立即关闭窗口。

1.9.3 注释

在Python代码中,井号(#)后面到行尾的所有内容都将被忽略。

在任何情况下,都应确保代码即便没有注释也易于理解。

1.10 字符串

字符串用途众多,但主要用途是表示一段文本。比如在代码print("Hello, world!")中,"Hello, world!"就是一个字符串。

你也可以用单引号将字符串括起,但是在这样的字符串中表示单引号字符需要使用反斜杠。

可以使用+运算符拼接两个字符串。

>>> "Hello, " + "world!"
'Hello, world!'
>>> x = "Hello, "
>>> y = "world!"
>>> x + y
'Hello, world!'

1.10.4 长字符串、原始字符串和字节

有一些独特而有用的字符串表示方式。

(1)长字符串
要表示很长的字符串(跨越多行的字符串),可使用三引号(单双均可)。在两对三引号中使用单引号或双引号时,无需使用反斜杠转义。

print('''This is a very long string. It continues here.
And it's not over yet. "Hello, world!"
Still here.''')

【提示】常规字符串也可横跨多行,在行尾加上反斜杠即可。这种处理手法也适用于表达式和语句。

(2)原始字符串
在普通字符串之前加上前缀r,就得到了原始字符串。原始字符串在输出时不会进行任何转义处理,而是使字符串中的每个字符都保持原样。注意,原始字符串不能以单个反斜杠结尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值