12

样式指南说应该使用下划线,但许多 Python 内置函数没有。下划线的标准应该是什么?我想与 Python 风格指南保持一致,但这个领域似乎有点模糊。是否有一个好的经验法则,是基于我自己的判断,还是两者都无关紧要?

例如,我应该命名我的函数isfoo()以匹配旧函数,还是应该命名它is_foo()以匹配样式指南?

4

2 回答 2

5

风格指南留给您:

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

换句话说,如果您想在方法名称中添加下划线会使其更易于阅读——请务必在其中添加一个(或两个!)。如果您认为标准库中还有足够多的其他类似案例,请随意将其排除在外。 这里没有硬性规定(尽管其他人可能不同意这一点)。我认为唯一普遍接受的是你不应该在你的方法中使用“CapWords”或“camelCase”。“CapWords”应该保留给课程,我不确定任何地方的“camelCase”是否有任何优先级(尽管我可能错了)......

于 2013-04-03T04:11:32.223 回答
3

样式指南说应该使用下划线,但许多 Python 内置函数没有。

以内置isinstance()为例,这是 1997 年写的

PEP 8——Python 代码样式指南 直到 2001 年才发布,这可能是造成这种差异的原因。

下划线的标准应该是什么?我想与 Python 风格指南保持一致,但这个领域似乎有点模糊。是否有一个好的经验法则,是基于我自己的判断,还是两者都无关紧要?

“如有疑问,请使用最佳判断。”

这是风格指南,而不是法律!在适当的地方遵循指南,牢记警告(强调我自己的):

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

混合大小写仅在已经是流行样式(例如 threading.py)的上下文中被允许,以保持向后兼容性

所以...

例如,我应该命名我的函数isfoo()以匹配旧函数,还是应该命名它is_foo()以匹配样式指南?

您可能应该调用isfoo(),以遵循类似函数的约定。它是可读的。“可读性很重要。”

于 2013-04-03T04:19:25.057 回答