来自c#背景,变量和方法名的命名约定通常是camelCase或PascalCase:
// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()
在Python中,我见过上面的情况,但我也见过使用下划线:
# python example
this_is_my_variable = 'a'
def this_is_my_function():
Python是否有更可取、更明确的编码风格?
来自c#背景,变量和方法名的命名约定通常是camelCase或PascalCase:
// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()
在Python中,我见过上面的情况,但我也见过使用下划线:
# python example
this_is_my_variable = 'a'
def this_is_my_function():
Python是否有更可取、更明确的编码风格?
当前回答
列宁告诉过……我也是来自Java/ c#世界的。还有SQL。 仔细审视我自己,试图找到第一眼就能理解的复杂结构的例子,比如列表字典中的列表,其中所有东西都是对象。 对我来说,骆驼语或它们的变体应该成为任何语言的标准。在复杂句中应保留下划线。
其他回答
参见Python PEP 8:函数和变量名:
函数名应该是小写的,单词之间用下划线分隔,以提高可读性。 变量名遵循与函数名相同的约定。 mixedCase只允许在已经是流行风格的上下文中使用(例如threading.py),以保持向后兼容性。
正如Python代码风格指南所承认的那样,
Python的命名约定 图书馆有点乱,所以我们 永远不能完全一致
注意,这只是指Python的标准库。如果他们不能保持一致,那么几乎没有希望为所有Python代码拥有一个普遍遵守的约定,不是吗?
从这一点,以及这里的讨论,我可以推断,如果一个人在过渡到Python时继续使用例如Java或c#的(清晰而完善的)变量和函数命名约定,这并不是一个可怕的罪恶。当然,要记住,最好是遵循代码库/项目/团队的流行风格。正如Python风格指南所指出的,内部一致性是最重要的。
尽管把我当异教徒看待吧。:-)和OP一样,我不是一个“Pythonista”,至少现在还不是。
编码风格通常是组织内部策略/约定标准的一部分,但我认为一般来说,all_lower_case_underscore_separator风格(也称为snake_case)在python中最常见。
我个人在用其他编程语言开发时使用Java的命名约定,因为它是一致的,易于遵循。这样我就不会一直纠结于使用什么约定,而这本来不应该是我项目中最难的部分!
There is PEP 8, as other answers show, but PEP 8 is only the styleguide for the standard library, and it's only taken as gospel therein. One of the most frequent deviations of PEP 8 for other pieces of code is the variable naming, specifically for methods. There is no single predominate style, although considering the volume of code that uses mixedCase, if one were to make a strict census one would probably end up with a version of PEP 8 with mixedCase. There is little other deviation from PEP 8 that is quite as common.