缩进4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格。类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行
总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。
-
尽量单独使用小写字母‘l',大写字母‘O'等容易混淆的字母。
-
模块命名尽量短小,使用全部小写的方式,可以使用下划线。
-
包命名尽量短小,使用全部小写的方式,不可以使用下划线。
-
类的命名使用CapWords的方式,模块内部使用的类采用_CapWords的方式。
-
异常命名使用CapWords+Error后缀的方式。
-
全局变量尽量只在模块内有效,类似C语言中的static。实现方法有两种,一是__all__机制;二是前缀一个下划线。
-
函数命名使用全部小写的方式,可以使用下划线。
-
常量命名使用全部大写的方式,可以使用下划线。
-
类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线。
-
类的属性有3种作用域public、non-public和subclass API,可以理解成C++中的public、private、protected,non-public属性前,前缀一条下划线。
-
类的属性若与关键字名字冲突,后缀一下划线,尽量不要使用缩略等其他方式。
-
为避免与子类属性命名冲突,在类的一些属性前,前缀两条下划线。
-
类的方法第一个参数必须是self,而静态方法第一个参数必须是cls。
每行最多100个字符
一个函数最多为50行
采用大驼峰法
用英文动名词表示法
常量用英文名词表示 英文名词首字母大写,其他字母小写 多个名词组合时用 _ 连接
函数之间空一行 类之间空两行
在函数内部写上业务逻辑的步骤或者关键语句的注释
不必要对每行代码都写注释
关键的业务逻辑和算法应该写函数头注释
操作符前后空格
运算符左右都空一格
逗号前不换行