空格的使用
使用空格来缩进,不要用制表符(Tab) 每行的字符数不要超过79个字符
函数和类的定义
代码前后都要用两个空行进行分隔。 在同一个类中,各个方法之间应该用一个空行进行分隔。 二元运算符的左右两侧应该保留一个空格,而且只要一个空格就好。
标识符命名
变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。 类中受保护的实例属性,应该以一个下划线开头。 类中私有的实例属性,应该以两个下划线开头。 类和异常的命名,应该每个单词首字母大写。 模块级别的常量,应该采用全大写字母,如果有多个单词就用下划线进行连接。 类的实例方法,应该把第一个参数命名为self以表示对象自身。 类的类方法,应该把第一个参数命名为cls以表示该类自身。
表达式和语句
采用内联形式的否定词,而不要把否定词放在整个表达式的前面。例如if a is not b就比if not a is b更容易让人理解。 不要用检查长度的方式来判断字符串、列表等是否为None或者没有元素,应该用if not x这样的写法来检查它。 就算if分支、for循环、except异常捕获等中只有一行代码,也不要将代码和if、for、except等写在一起,分开写才会让代码更清晰。
import语句总是放在文件开头的地方。
引入模块的时候,from math import sqrt比import math更好。 如果有多个import语句,应该将其分为三部分,从上到下分别是Python标准模块、第三方模块和自定义模块,每个部分内部应该按照模块名称的字母表顺序来排列。