【发布时间】:2011-02-18 09:44:55
【问题描述】:
我对 Python 还是很陌生,我想开发我的第一个严肃的开源项目。我想问一下python项目常见的编码风格是什么。我也会把我现在正在做的事情。
1.- 最广泛使用的列宽是多少? (永恒的问题)
我目前坚持使用 80 列(这很痛苦!)
2.- 使用什么引号? (我已经看到了所有内容,PEP 8 没有提及任何明确的内容)
除了使用三重双引号的文档字符串,我对所有内容都使用单引号。
3.- 我将进口商品放在哪里?
我按这个顺序把它们放在文件头。
import sys
import -rest of python modules needed-
import whatever
import -rest of application modules-
<code here>
4.- 我可以使用“import whatever.function as blah”吗?
我看到了一些无视这样做的文件。
5.- 用于缩进的制表符或空格?
当前使用 4 个空格制表符。
6.- 变量命名方式? 除了类,我使用小写字母,我把它放在 camelCase 中。
有什么推荐的吗?
【问题讨论】:
-
如果您已经看过 PEP 8,那么可能没有多少其他东西被广泛接受为标准......
-
@David:谢谢,我会跟进 PEP 8。 @Fuzzy lollipop:为什么?
-
这是一个引用“没有什么比一个看起来像一系列空格但实际上不是的字符更糟糕的了,它看起来像不同数量的空格,具体取决于您的显示设置,而且您甚至可能不会无需重新配置编辑器即可打字!上次我检查时,任何编辑器都允许您键入空格。”这几乎概括了它。
-
@Oscar Carballal:无论太空狂热者怎么说,制表符都不是邪恶的(除非与空格混合,基本上每个人都认为这是邪恶的)。喜欢标签有完全合法、合理的理由。但是,如果您打算与其他人合作(如果您谈论的是开源项目,实际上是给定的),您将需要切换到使用所有空间,就像实用主义一样。
-
我使用标签已经很多年了;不,他们不是邪恶的。然而,在混合制表符和空格时引发错误的 Python 3 更改是非常邪恶的:这意味着您必须更改编辑器的配置来编辑不同的代码库,这对学术和实践都没有好处。
标签: python coding-style naming-conventions indentation column-width