Python编码规范之命名规范
程序员文章站
2022-06-07 14:13:56
1、不要使用小写字母'l'(el),大写字母'o'(oh),或者小写'i'作为单独变量名称。因为一些字体中,上诉字母和数字很难区分(...
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、常量定义全部为大写,必要时可用下划线分隔单词以增加可读性。
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、常量定义全部为大写,必要时可用下划线分隔单词以增加可读性。