Python编码规范之命名规范

来源:岁月联盟 编辑:exp 时间:2012-08-28
1、不要使用小写字母'l'(el),大写字母'O'(oh),或者小写'i'作为单独变量名称。因为一些字体中,上诉字母和数字很难区分(比如:O和0,l和1)。
2、Module应该采用全小写,并且尽可能短的命名,可以在模块名中使用下划线以提高可读性。Package应该采用全部小写,并且也要尽可能短的命名,但不允许使用下划线。当一个用C 或C++ 写的扩展模块,有一个伴随的Python 模块来提供一个更高层(例如,更面向对象)的接口时,C/C++模块名有一个前导下划线(如:_socket)。
3、类名使用首字母大写单词串(CapWords) 的约定。 内部使用的类使用一个额外的前导下划线。
4、因为异常应该是类,故类命名约定也适用于异常。然而,你应该对异常名添加后缀"Error" (如果该异常的确是一个错误)。
5、对设计为通过"from M import " 来使用的模块,应采用all 机制来防止导 出全局变量;或者使用旧的约定,为该类全局变量加一个前导下划线(可能你想表 明这些全局变量是"module non-public")。
6、函数名应该为小写,必要时可用下划线分隔单词以增加可读性。 混合大小写(mixedCase) 仅被允许用于这种风格已经占优势的上下文(如:threading.py),以便保持向后兼容。
7、对实例的方法,总是用'self' 做第一个参数。对类的方法,总是用'cls' 做第一个参数。如果函数的参数名与保留关键字冲突,在参数名后加一个下划线,比用缩写、错误 的拼写要好。因此 "_print" 比 "prnt" 好。(也许使用同义词来避免冲突更好。)
8、方法名和实例变量:采用函数命名规则:小写单词,必要时可用下划线分隔单词以增加可读性。仅对non-public 方法和实例变量采用一个前导下划线。为避免与子类命名冲突,采用两个前导下划线来触发Python 的命名重整规则。Python用类名重整这些名字:如果类Foo 有一个属性名为__a, 它不能以Foo.__a 访问。(执著的用户还是可以通过Foo._Foo__a.得到访问权。)通常,双前导下划线仅被用来避免与基类的属性发生名字冲突。
9、常量定义全部为大写,必要时可用下划线分隔单词以增加可读性。

图片内容