Python 采用 PEP 8 作为编码规范,其中 PEP 是 Python Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。
在 Python 中,代码缩进推荐使用四个空格,而不是一个 tab 键。
限制所有行的最大行宽为 79 字符。文本长块,比如文档字符串或注释,行长度应限制为 72 个字符。
使用空行分割顶层函数和类的定义。类中的方法的定义使用单个空行进行分割。
额外的空行可以必要的时候用于分割不同的函数组,但是要尽量节约使用。
额外的空行可以必要的时候在函数中用于分割不同的逻辑块,但是要尽量节约使用。
各种右括号前不要加空格。
逗号、冒号、分号前不要加空格。
函数的左括号前不要加空格,如 Func(1)
。
序列的左括号前不要加空格,如 list[2]
。
操作符左右各加一个空格,不要为了对齐增加空格。
函数默认参数使用的赋值符左右省略空格。
import导入始终在文件的顶部,在模块注释和文档字符串之后,在模块全局变量和常量之前。
导入顺序如下:标准库进口,相关的第三方库,本地库。各组的导入之间要有空行。
不要在一行 import 多个库,每行只能 import 一个库。
总体原则,错误的注释不如没有注释。所以当一段代码发生变化时,第一件事就是要修改注释。
注释必须使用英文,最好是完整的句子,首字母大写,句后要有结束符,结束符后跟两个空格,开始下一句。如果是短语,可以省略结束符。
块注释,在一段代码前增加的注释。行注释,在一句代码后加注释。但是这种方式尽量少使用。
模块命名尽量短小,使用全部小写的方式,可以使用下划线。
包命名尽量短小,使用全部小写的方式,不可以使用下划线。
类的命名使用 CapWords
的方式,模块内部使用的类采用 _CapWords
的方式。
异常命名使用 CapWords+Error
后缀的方式。
全局变量尽量只在模块内有效,类似 C语言 中的 static。
函数命名使用全部小写的方式,可以使用下划线。
常量命名使用全部大写的方式,可以使用下划线。
类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线。类的属性若与关键字名字冲突,后缀一下划线,尽量不要使用缩略等其他方式。
为避免与子类属性命名冲突,在类的一些属性前,前缀两条下划线。
类的方法第一个参数必须是self,而静态方法第一个参数必须是cls。
Python 采用 PEP 8 作为编码规范。