1.4个空格的缩进
2.每行最大长度79
3.类和top函数定义之间空2行,类中的方法空一行,函数内逻辑无关空一行
4.import 按标准,三方,自己编写排放,之间空一行,一句一个库
5.不要加空格:后括号前;逗号,冒号,分号前;函数默认参数使用的赋值符左右。
7.操作符左右各一个空格。
8.注释使用英文,最好是完整的句子,首字母大写,句号要有结束符,结束符后跟两个空格;短语可以省略结束符。
9.块注释,在一段代码前增加的注释。在#后加一个空格。段落间#间隔
10.docstring
"""Do X and return a list."""
"""Form a complex number. Keyword arguments: real -- the real part (default 0.0) imag -- the imaginary part (default 0.0) """11.命名
单独使用小写l,大写O
模块名要短,可以下划线
包名要短,,全部小写,不可以下划线
全局变量尽量只在模块内有效. 方法:__all__ 或前缀一个下划线
函数名全部小写,可以下划线
常量命名全部大写,可以下划线
类的属性全部小写,可以下划线
类的属性与关键字冲突,后缀一下划线
类的第一个参数self,静态方法第一个参数cls
注意:
+ 在CPython中效率很高,在Jython中低。采用.join()
is / is not 优于 if x
使用基于类的异常Exception
except后跟exceptions
try代码尽量少
startswith / endswith 代替切片
isinstance 比较对象类型
判断为空 not x 优于 len(x)
二进制判断 if boolvalue