python代码规范
缩进
- 每一级缩进使用4个空格
- 空格是首选的缩进方式,制表符只能用于与同样使用制表符缩进的代码保持一致
- Python3不允许同时使用空格和制表符的缩进
变量命名
- 变量名可以包括字母、数字、下划线,但是数字不作为开头
- 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母
- 单词之间的分隔只允许使用下划线"_"作为分隔
- 命名规则扩充
- 包命名尽量短小,使用全部小写的方式,不可以使用下划线
- 模块命名尽量短小,使用全部小写的方式,可以使用下划线
- 类的命名使用CapWords(驼峰命名法)的方式,模块内部使用的类采用_CapWords的方式
- 类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线
- 函数命名使用全部小写的方式,可以使用下划线
- 常量命名使用全部大写的方式,可以使用下划线
每行最多字符数
- 限制每行的最大长度为79个字符
函数最大行数
- 函数最多不超过100行
函数、类命名
-
函数命名
- 函数命名使用全部小写的方式,可以使用下划线
-
类命名
-
类的命名使用CapWords(驼峰命名法)的方式,模块内部使用的类采用_CapWords的方式
-
类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线
-
常量
- 常量命名使用全部大写的方式,可以使用下划线
空行规则
- 顶层函数和类的定义,前后用两个空行隔开
- 类里的方法定义用一个空行隔开
注释规则
- 当代码更改时,优先更新对应的注释
- 如果一个注释是一个短语或句子,它的第一个单词应该大写
- 如果注释很短,结尾的句号可以省略
- 块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别
- 有节制地使用行内注释
- 行内注释和代码至少要有两个空格分隔
- 优先使用英文写注释
操作符前后空格
-
以下情况避免使用无关的空格:
-
紧跟在小括号,中括号或者大括号后
-
紧贴在逗号、分号或者冒号之前
-
紧贴在函数参数的左括号之前
-
紧贴索引或者切片的左括号之前
-
为了和另一个赋值语句对齐,在赋值运算符附件加多个空格
-
-
冒号在切片中就像二元运算符,在两边应该有相同数量的空格
-
避免在尾部添加空格
-
总是在二元运算符两边加一个空格
其他规则
- 导入应该按照以下顺序分组:
- 标准库导入
- 相关第三方库导入
- 本地应用/库特定导入
- Python核心发布版本中的代码总是以UTF-8格式编码(或者在Python2中用ASCII编码)
使用ASCII(在Python2中)或UTF-8(在Python3中)编码的文件不应具有编码声明