- 1 缩进与换行 每级缩进使用四个空格
- 2 限制每行的最大长度为79个字符
- 3 空行
- 顶层函数和类之间使用两个空行
- 类的方法之间用一个空行
- 在函数中使用空行表示不同逻辑段落
- 4 导入位于文件的顶部
- 5 避免多余空格
- 6 注释
- 7 命名规范
- 除了正常的命名规范外
- 不要使用 大小写的L 大写的O 作为变量名
- 类名首字母大写 内部类 加上前导下划线
- 函数名应该小写 增强可读性可以使用下划线分割
- 8 其他
- 别用 ‘==‘ 进行布尔值 和 True 或者 False 的比较 应该用 is
Python之禅 by Tim Peters
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)