style guide表示应该使用下划线,但许多Python内置函数不能。下划线的标准应该是什么?我想与Python风格指南保持一致,但这个领域看起来有点模糊。是否有一个很好的经验法则,是基于我自己的判断,还是两种方式都不重要?
例如,我应该将我的函数isfoo()
命名为与旧函数匹配,还是应将其命名为is_foo()
以匹配样式指南?
答案 0 :(得分:4)
样式指南由您决定:
函数名称应为小写,并根据需要用下划线分隔,以提高可读性。
换句话说,如果你想在你的方法名称中添加一个下划线会让它更容易阅读 - 一定要在那里继续扔一(或两个!)。如果您认为标准库中有足够的其他类似案例,请随意将其删除。 这里没有硬性规则(尽管其他人可能不同意这一点)。我认为 唯一被普遍接受的是你不应该为你的方法使用“CapWords”或“camelCase”。应该为课程保留“CapWords”,我不确定“camelCase”在任何地方都有优先权(虽然我可能错了)......
答案 1 :(得分:1)
样式指南说应该使用下划线,但许多Python内置函数不能。
使用内置isinstance()
作为示例,this was written in 1997。
PEP 8 -- Style Guide for Python Code wasn't published until 2001,可能会导致这种差异。
下划线的标准应该是什么?我想与Python风格指南保持一致,但这个领域看起来有点模糊。是否有一个很好的经验法则,是基于我自己的判断,还是两种方式都不重要?
<强> "When in doubt, use your best judgment." 强>
这是一种风格指南,而非法律!请遵循适当的指南,牢记警告(强调我自己):
函数名称应为小写,并根据需要用下划线分隔单词以提高可读性。
mixedCase只允许在已经是主流风格的情况下(例如threading.py),以保持向后兼容性。
...因此
例如,我应该将我的函数
isfoo()
命名为与旧函数匹配,还是应将其命名为is_foo()
以匹配样式指南?
你应该可能称之为isfoo()
,以遵循类似功能的约定。它是可读的。 "Readability counts."