PEP介绍
PEP是 Python Enhancement Proposal 的缩写,是Python增强建议书的意思。
Python的代码风格由PEP 8描述。这个文档描述了Python编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的Python代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。
命名规则
不同的命名风格
有许多不同的命名风格。以下的有助于辨认正在使用的命名风格,这独立于它们的作用。
- 小写串 (lowercase)
- 带下划线的小写串 (lower_case_with_underscores)
- 大写串 (UPPERCASE)
- 带下划线的大写串 (UPPER_CASE_WITH_UNDERSCORES)
- 首字母大写单词串 (CapitalizedWords) (或 CapWords、CamelCase,因其字母看起来错落有致,故得此名)
注意: 在CapWords中使用缩写,需要把缩写的所有字母大写。故HTTPServerError比HttpServerError更好。- 混合大小写串 (mixedCase) (与首字母大写串不同之处在于第一个字符是小写的!)
- 带下划线的首字母大写串 (Capitalized_Words_With_Underscores) (丑陋!)
避免采用的名字
决不能使用字母'l'(L的小写字母)、'O'(o的大写字母)、'I'(i的大写字母)) 作为单个字符的变量名。
在一些字体中,这些字符不能与数字1和0区别开。当想要使用'l'时,用'L'代替它。
包和模块名(Package and Module Names)
模块名应该是简短的、全部小写的名字。可以在模块名中使用下划线以提高可读性。Python包名也应该是简短的、全部小写的名字,尽管不推荐使用下划线。
因为模块名被映射到文件名,有些文件系统大小写不敏感并且截短长名字,所以把 模块名选择为相当短就很重要了——这在Unix上不是问题,但当把代码迁移到Mac、Windows或DOS上时,就可能是个问题了。
当一个用C或C++写的扩展模块,有一个伴随的Python模块来提供一个更高层(例如,更面向对象)的接口时,C/C++ 模块名有一个前导下划线 (如:_socket)。
类名(Class Names)
几乎没有例外,类名使用首字母大写单词串(CapWords)的约定。内部使用的类使用一个额外的前导下划线。
异常名 (Exception Names)
因为异常应该是类,故类命名约