文章目录
- Python程序设计的基本元素
- Python的语法特点
- 标识符与变量、常量
- 基本数据类型
- 基本输入和输出
- 常见的运算符与表达式
一、Python程序设计的基本元素
包括:常量、变量、关键字、运算符、表达式、函数、语句、类、包与模块等。
二、Python的语法特点
1.命名规范
1)模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。
2)包名尽量短小,并且全部使用小写字母,不推荐使用下划线。
3)类名采用单词首字母大写形式(即Pascal风格)。
4)模块内部的类采用下划线“__”+Pacsal风格的类名组成。
5)函数、类的属性和方法的命名规则同模块类似,也是全部使用小写字母,多个单词间用下划线“__”分隔。
6)常量命名时全部采用大写字母,可以使用下划线。
7)使用单下划线“__”开头的模块变量或者函数是受保护的,在使用from xxx import*语句从模块中导入时这些变量或者函数不能被导入。
8)使用双下划线“__”开头的实例变量或方法是类私有的。
2.代码缩进
Python不像其他程序设计语言(如Java或者C语言)采用大括号“{}”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。
缩进可以使用空格键或者<Tab>键实现。使用空格键时,通常情况下采用4个空格作为一个缩进量,而使用<Tab>键时,则采用一个<Tab>键作为一个缩进量。通常情况下建议采用空格进行缩进。
在Python中,对于类定义、函数定义、流程控制语句,以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。
Python 对代码的缩进要求非常严格,同一个级别的代码块的缩进量必须相同。如果不采用合理的代码缩进,将抛出SyntaxError异常。
3.编码规范
1.分号
不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。
2.长语句行
除非遇到长的导入模块语句或者注释里的URL,建议每行不宜超过80个字符。对于超长语句,允许但不提倡使用反斜杠连接行,建议在需要的地方使用圆括号来连接行。
3.括号
不建议使用不必要的括号。除非用于实现行连接,否则不要在返回语句或条件语句中使用括号。
4.空行
顶级定义之间空两行,比如函数或者类定义。
类内部的方法定义之间,类定义与第一个方法之间,建议空一行。
函数或方法之间,如果有必要,可以空一行。
5. 空格
对于赋值(=)、比较(==、<、>、!=、< >、<=、>=、in、not in、is、is not)、布尔(and、or、not)等运算符,在运算符两边各加上一个空格,可以使代码更清晰。而对于算术运算符,可以按照自己的习惯决定,但建议运算符两侧保持一致。
不建议在逗号、分号、冒号前面加空格,但建议在它们后面加空格(除了在行尾之外)。
参数列表、索引或切片的左括号前不要加空格。
当等号用于表示关键字参数或默认参数值时,不建议在其两侧使用空格。
不建议用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:、#、=等)
6.文档字符串
文档字符串是Python语言独特的注释方式。文档字符串是包、模块、类或函数中的第一条语句。文档字符串可以通过对象的--doc--成员被自动提取。
书写文档字符串时,在其前、后使用三重双引号“””””或三重单引号“’’’”。
一个规范的文档字符串应该首先是一行概述,接着是一个空行,然后是文档字符串剩下的部分,并且应该与文档字符串的第一行的第一个引号对齐。
文档字符串通常用于提供在线帮助信息。
7.模块导入
每个 import语句只导入一个模块,尽量避免一次导入多个模块。
8.异常处理
适当使用异常处理结构能够提高程序的容错性,但不能过多地依赖异常处理结构,适当的显式判断还是必要的。
4.注释规则
单行注释、多行注释和中文声明注释。
三、标识符与变量、常量
1.保留字
Python中所有保留字是区分字母大小写的。
2.标识符
1)标识符由一串字符组成,必须以下划线(_)或字母开头,后面接任意数量的下划线、字母(a~z,A~Z)或数字(0~9)。
2)在Python中,标识符中的字母是严格区分大小写的,两个同样的单词,如果大小写格式不一样,所代表的意义是完全不同的。Sum和sum是两个不同的标识符。
3 )禁止使用Python保留字(或称关键字)作为标识符。标识符不能与保留字同名。保留字是被Python保留起来具有特殊含义的词,不能再用于起名字。
4) Python中以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符。
a.以单下划线开头的标识符(_ width)表示不能直接访问的类属性。另外,也不能通过“from xxx import*”导入。
b.以双下划线开头的标识符(如--add)表示类的私有成员。
c.以双下划线开头和结尾的是Python里专用的标识,例如,“--init--()”表示构造函数。
注意:
a.开头字符不能是数字。
b.标识符中唯一能使用的标点符号只有下划线,不能含有其他标点符号(包括空格、括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)以及@、%和$等特殊字符。例如: stu-score、 First Name、2班平均分等都是不合法的标识。
3.变量的赋值和存储
(1)定义变量
在Python中,不需要先声明变量名及其类型,直接赋值即可创建各种类型的变量。但是量的命名并不是任意的,应遵循以下5条规则。
1)变量名必须是一个有效的标识符。
2)变量名不能使用Python中的保留字。
3)慎用小写字母1和大写字母O。
4)应选择有意义的单词作为变量名,即见名知意。
为变量赋值可以通过等号(=)来实现,其语法格式为:
变量名=变量值
在Python中,允许同时为多个变量赋值。
(2)删除变量
使用del命令可以删除一个对象(包括变量、函数等),删除之后就不能再访问这个对象了,因为它已经不存在了。当然,也可以通过再次赋值重新定义变量。
变量是否存在,取决于变量是否占据一定的内存空间。当定义变量时,操作系统将内存空间分配给变量,该变量就存在了。当使用del命令删除变量后,操作系统释放了变量的内存空间,该变量也就不存在了。
当对象绑定给变量时,计数增加1,当变量解除绑定时,计数减少1。待计数为0时,对像自动释放。Python具有垃圾回收机制,当一个对象的内存空间不再使用(引用计数为0)后,这个内存空间就会被自动释放。所以Python不会像C那样发生内存泄漏而导致内存不足甚至系统死机的现象。Python的垃圾空间回收是系统自动完成的,而del命令相当于程序主动地进行空间释放,将其归还给操作系统。
四、基本数据类型
(一)数值类型
整数(int)、浮点数(float)、复数(complex)。
1.整数
整数用来表示整数数值,即没有小数部分的数值,如200、0、-173。在Python中,整数包括正整数、负整数和零,并且它的位数是任意的(Python的整数没有长度限制,当超过计算机自身的计算功能时,会自动转用高精度计算),如果要指定一个非常大的整数,只需要写出其所有位数即可。整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。
(1)十进制整数
十进制整数的表现形式大家都很熟悉。例如,10,-9。
(2)八进制整数
由0~7组成,进位规则是“逢八进一”,并且以0o开头的数,如0o23(转换成十进制数为
19)。在Python 3.x中,对于八进制数,必须以0o/0O开头。
(3)十六进制整数
由0~9,A~F组成,进位规则是“逢十六进一”,并且以0x/0X开头的数,如0x27(转换成十进制数为39)、0X1b(转换成十进制数为27)。
2.浮点数
浮点数是带小数的数字,由整数部分和小数部分组成,主要用于处理包括小数的数。如
4.、.5.、.-2.7315e2。其中 4.相当于4.0,.5 相当于 0.5,-2.7315e2是科学记数法(浮点数也可以使用科学计数法表示),相当于-2.7315×10^2,即-273.15。
与整数不同,浮点数存在上限和下限。计算结果超出上限和下限的范围会导致溢出错误。
注意:浮点数只能以十进制数形式书写。
3.复数
Python中的复数与数学中的复数的形式完全一致,都是由实部和虚部组成,并且使用j或J表示虚部。当表示一个复数时,可以将其实部和虚部相加
(二)布尔类型
布尔类型是主要用来表示真或假的值。在Python中,标识符 True和 False被解释为布尔值。另外,Python中的布尔值可以转化为数值,其中 True表示1,而False表示0。Python中的布尔类型的值可以进行数值运算,例如,“False+1”的结果为1。但是不建议对布尔类型的值进行数值运算。
在Python中,所有的对象都可以进行真值测试。其中,只有下面列出的几种情况得到的值为假,其他对象在if或者while语句中都表现为真。
1) False或None。
2)数值中的零,包括0、0.0、虚数0。
3)空序列,包括空字符串、空元组、空列表、空字典。
4)自定义对象的实例,该对象的--bool--()方法返回False,或--len--()方法返回0。
(三)NoneType类型
在Python中,有一个特殊的常量None (N 必须大写)。和False 不同,它不表示0,也不表示空字符串,而表示没有值,也就是空值。这里的空值并不代表空对象,即None 和[]、“”不同。
(四)数据类型转换
1) float函数:将其他类型数据转换为浮点数。
2)sr函数:将其他类型数据转换为字符串。
3)int函数:将其他类型数据转换为整型。
4) round 函数:将浮点型数值圆整为整型。所谓的圆整计算总是“四舍”,但并不一定总是“五入”。因为总是逢五向上圆整会带来计算概率的偏差。所以,Python采用的是“银行家圆整”:将小数部分为.5的数字圆整到最接近的偶数,即“四舍六入五留双”。
5)bool函数。将其他类型数据转换为布尔类型。
6)chr和ord函数:进行整数和字符之间的相互转换:chr将一个整数按ASCII码转换为对应的字符,ord是chr的逆运算,把字符转换成对应的ASCII码或Unicode值。
7)eval函数:将字符串中的数据转换成Python表达式原本类型。
五、基本输入和输出
input函数进行输入,print函数进行输出
六、常见的运算符与表达式
运算符的优先级
常见运算符的优先级,按照从低到高的顺序排列(同一行优先级相同)总结如下。
逻辑运算符:or
逻辑运算符:and
逻辑运算符:not
成员测试:in,not in
同一性测试:is,is not
比较:<,<=,>,>=,!=,==
按位或:|
按位异或:^
按位与:&
移位:<<,>>
加法与减法:+,-
乘法、除法与取余:*,/,% 正负号:+x,-x