PEP 8倡导用不同的命名风格来命名Python中不同的标识符,以便在阅读代码时能够通过标识符的名称来确定该标识符在Python中扮演了怎样的角色(在这一点上,Python自己的内置模块以及某些第三方模块都做得并不是很好)。
1.**变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。**
2.**类中受保护的实例属性,应该以一个下划线开头。**
3.**类中私有的实例属性,应该以两个下划线开头。**
4.**类和异常的命名,应该每个单词首字母大写。**
5.**模块级别的常量,应该采用全大写字母,如果有多个单词就用下划线进行连接。**
6.**类的实例方法,应该把第一个参数命名为`self`以表示对象自身。**
7.**类的类方法,应该把第一个参数命名为`cls`以表示该类自身。**
1.<u>变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。</u>
2.<u>类中受保护的实例属性,应该以一个下划线开头。</u>
3.<u>类中私有的实例属性,应该以两个下划线开头。</u>
4.<u>类和异常的命名,应该每个单词首字母大写。</u>
5.<u>模块级别的常量,应该采用全大写字母,如果有多个单词就用下划线进行连接。</u>
6.<u>类的实例方法,应该把第一个参数命名为`self`以表示对象自身。</u>
7.<u>类的类方法,应该把第一个参数命名为`cls`以表示该类自身。</u>
### 表达式和语句
在Python之禅(可以使用`import this`查看)中有这么一句名言:“There should be one-- and preferably only one --obvious way to do it.”,翻译成中文是“做一件事应该有而且最好只有一种确切的做法”,这句话传达的思想在PEP 8中也是无处不在的。
1.**采用内联形式的否定词,而不要把否定词放在整个表达式的前面。**例如`if a is not b`就比`if not a is b`更容易让人理解。
2.**不要用检查长度的方式来判断字符串、列表等是否为`None`或者没有元素,应该用`if not x`这样的写法来检查它。**