pep8 规范主要内容如下:
缩进:
每一级缩进使用4空格
续行应该与其包裹元素对齐,挂行缩进第一行不应有参数
行的长度:
所有行限制的最大字符数为79
文档字符或者注释,每行最大字符数限制在72
空行:
顶层函数和类的定义,前后用两个空行隔开
类里的方法定义用一个空行隔开
imports导入
导入通常在分开的行
导入总是位于文件顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前
导入顺序:标准库,第三方库,本地应用/库,每一组导入间加入空行
推荐使用绝对路径导入
comments 注释
当代码更改时,优先更新对应的注释,与代码相矛盾的注释比没有注释更糟
注释应该是完整的句子,如果注释是一个短语或者句子,它的第一个单词应该大写
如果注释很短,结尾句号可以省略,块注释由完整句子的一个或多个段落组成,且有句号
句尾结束的时候应该使用两个空行
使用英文写注释
Block commnets 块注释
块注释通常适用于跟随它们的某些代码,并缩进到与代码相同的级别,块注释的每一行开头使用一个#和一个空格
块注释内部的段落通常只有一个#空行分隔
Inline comments 行业注释
有节制的使用行内注释
行内注释和代码至少要有两个空格分隔,由#和一个空格开始
Documentation strings文档字符串
要为所有的公共模块,函数,类以及方法编写文档说明
非公共的方法没有必要,但应该有一个描述方法具体作用的注释,注释应在def那一行之后
约定俗成的命名约定
永远不要小写L,大写o 或者大写I,作为单字符变量名
Class Names类名
类名一般使用首字母大写
在接口被文档化并且主要被用于调用的情况下,可以使用函数命名风格代替
Function Names 函数 名
函数名应该小写,如果想提高可读性可以用下划线分隔
大小写混合仅为兼容原来主要以大小写混合风格的情况下使用
Function and method arguments 函数方法参数
始终要将self作为实例方法的第一个参数
始终将cls作为类静态方法的第一个参数
如果函数的参数名和已有的关键词冲突,在最后加一单下划线比缩写或随意拼写更好
Programming Recommendations 编程建议
代码应该用不损害其他python 实现的方式去编写,如不要依赖在cpython中高效的内置字符连接语句a +=b a = a +b
和像None这样的单例对象进行比较时应该始终用is 或者is not ,永远不要用等号
使用is not 运算符,而不是not is,它们功能相同,但前者更易读