Python中变量和函数的命名规范是什么?
如果你是从C#这个语言过来的,通常在命名变量和方法的时候,会用到两种风格:一种是camelCase(驼峰式命名),另一种是PascalCase(帕斯卡命名)。
// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()
在Python这门语言里,我见过上面提到的命名方式,但我也看到过snake_case(蛇形命名)这种风格:
# python example
this_is_my_variable = 'a'
def this_is_my_function():
那么,Python有没有更推荐的、明确的编码风格呢?
15 个回答
David Goodger 在《像 Pythonista 一样编程》一文中(可以在这里找到)提到了 PEP 8 的一些建议,具体如下:
函数、方法、属性和变量用
joined_lower
这种命名方式。常量可以用
joined_lower
或者ALL_CAPS
。类的命名用
StudlyCaps
。只有在遵循已有的命名规则时才使用
camelCase
。
谷歌的Python风格指南有一些命名的规则:
比如说,模块名用
module_name
这种格式,包名用package_name
,类名用ClassName
,方法名用method_name
,异常名用ExceptionName
,函数名用function_name
,全局常量名用GLOBAL_CONSTANT_NAME
,全局变量名用global_var_name
,实例变量名用instance_var_name
,函数参数名用function_parameter_name
,局部变量名用local_var_name
。
类似的命名规则也应该用在CLASS_CONSTANT_NAME
上。
请查看Python的PEP 8: 函数和变量命名:
函数的名字应该是小写字母,单词之间用下划线分隔,这样可以让人更容易读懂。
变量的命名规则和函数的命名规则是一样的。
在某些情况下,可以使用混合大小写,但这只在已经普遍使用这种风格的地方(比如threading.py)才允许,这样可以保持与旧版本的兼容性。