一、编码基础
1.标识符
(1)标识符由字母、数字、下划线组成。
(2)所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
![](https://i-blog.csdnimg.cn/blog_migrate/a9706b9640d26d319ded8f579fa1f5e7.png)
(3)标识符是区分大小写的。
![](https://i-blog.csdnimg.cn/blog_migrate/5a59f0489b1602c07634bb8e37bbf703.png)
(4)以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
(5)以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
(6)在 Python 3 中,非 ASCII 标识符也是允许的了。
2.Python保留字
保留字即关键字,不能用作常数或变数,或任何其他标识符名称。所有Python的关键字只包含小写字母。
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
![](https://i-blog.csdnimg.cn/blog_migrate/8c9a7e097dd9bf7d115ed4fffad4e994.png)
3.行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
![](https://i-blog.csdnimg.cn/blog_migrate/a13d2c81dc4f43a7520acdf9e879a903.png)
4.多行语句
(1)Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
![](https://i-blog.csdnimg.cn/blog_migrate/7ee2efcf2d5ed909037081a401dc59cd.png)
(2) 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
![](https://i-blog.csdnimg.cn/blog_migrate/8eca2f8ec6ae0fba0fbd7d467dd09dfe.png)
5.数字类型(number)
python中数字有四种类型:整数、布尔型、浮点数和复数。
(1)int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
(2)bool (布尔),如 true。
(3)float (浮点数), 如 1.23、3E-2
(4)complex (复数), 如 1 + 2j、 1.1 + 2.2j
6.字符串(String)
(1)python中单引号和双引号使用完全相同。
![](https://i-blog.csdnimg.cn/blog_migrate/0cba1727cea12bfed34e42680d798023.png)
(2)使用三引号('''或""")可以指定一个多行字符串。
![](https://i-blog.csdnimg.cn/blog_migrate/380d82c976e32f555982bd4ff05bc061.png)
(3)转义符 '\'
![](https://i-blog.csdnimg.cn/blog_migrate/2a6719eb067952aab29abccd5e32f1e2.png)
(4)反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行。
![](https://i-blog.csdnimg.cn/blog_migrate/20fb5bb5a704a0091e114648d9929fa2.png)
(5)按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
(6)字符串可以用 + 运算符连接在一起,用 * 运算符重复。
(7)Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
(8)Python中的字符串不能改变。
(9)Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
(10)字符串的截取的语法格式如下:变量[头下标:尾下标]
![](https://i-blog.csdnimg.cn/blog_migrate/2cb990035709b102a1ff1a1252c4806c.png)
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/c12e74297615dc015bb9ce831c698104.png)
7.多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
![](https://i-blog.csdnimg.cn/blog_migrate/50cce4491f64523624f35e06a08b34a0.png)
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/5399884f49cd11396b47e7e65e300456.png)
8.print( )输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
![](https://i-blog.csdnimg.cn/blog_migrate/742bb060c448be55f72be1a88ee20c89.png)
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/3b0e0c0638449aee257d0da459cabd32.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7f1e22149beec658f06c017484cae40d.png)
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/2d2889a36eb7c1ed4c1f022478f0c458.png)
9.input( )输入:等待用户输入
![](https://i-blog.csdnimg.cn/blog_migrate/1e6b9876043d9d26868923fb67464541.png)
10.import 与 from...import...
在 python 用 import 或者 from...import 来导入相应的模块。
(1)将整个模块(somemodule)导入,格式为: import somemodule
(2)从某个模块中导入某个函数,格式为: from somemodule import somefunction
(3)从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
(4)将某个模块中的全部函数导入,格式为: from somemodule import *