我应该在Python中使用"驼峰命名法"还是下划线命名法?

375

那么哪个更好,为什么?

def my_function():
或者
def myFunction():

6
就我所知,这在PEP中被称作“无关紧要”。根据我的经验,两种写法都可以接受(但请保持一致)。不管怎样,这相当主观。 - user166390
197
为什么会有关闭投票?这是关于社区常规实践的一个完全合理的问题。 - Marcin
4
开发人员有许多有效的编码规范,唯一重要的是在项目中保持相同的编码规范 - Cédric Julien
40
我不同意那些说“这没关系”的人。PEP8规范被广泛遵守。而且,我感到惊讶的是,这个问题被关闭并被认为是没有建设性的。如果你在Google上搜索“Python中的驼峰命名法”,这就是第一个出现的结果! - Mike Vella
15
我认为这个问题会引起紧张情绪,因为规范要求使用下划线,但大多数专业的编程人员每天都在使用驼峰命名法(不仅仅是Python语言)。下划线似乎接近它们的生命周期结束,与许多遵循该约定的C++代码库一样。 - Neal Ehardt
显示剩余4条评论
3个回答

398

关于Python的样式指南,建议您阅读PEP8

回答您的问题:

函数名应该小写,单词间用下划线分隔以提高可读性。


105
你已经截取了PEP8的一个重要部分:"只有在已经普遍使用混合大小写风格的情况下(例如threading.py),才允许使用混合大小写风格,以保持向后兼容性。" 有时候,CamelCase是可以接受的。 - user559633
25
这与驼峰式单词组成的固定符号完全相反,后者看起来像一个单一的对象,符合方法名称应该是一个东西的想法(而不是多个对象、单词,需要读取并稍后解释为一个多元素组的想法)。如果方法名称中包含保留字,情况甚至更糟。 - Sebastian Sastre
141
当然,Python 使用蛇形命名法。这一点应该很明显。 - ayke
72
为什么下划线会提高可读性,而微软的框架指南声称驼峰命名法可以提高可读性,我不理解。Python开发人员和C#开发人员是两种不同的物种吗? - Gqqnbig
7
@Gqqnbig,我认为引用部分的意思是带下划线的小写字母比不带下划线的小写字母更易读。如果它的意思是snake_case比CamelCase更易读,那么逗号应该在“underscores”之后而不是在“lowercase”之后。 - Rich
显示剩余5条评论

49

PEP 8建议使用第一种形式以提高可读性。你可以在这里找到它。

函数名应该用小写字母,必要时使用下划线分隔单词以提高可读性。


29

函数名应该使用小写字母,单词之间使用下划线分隔以提高可读性。混合大小写只允许在已经存在这种风格的情况下使用。

已有答案,点击这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接