Python开发编码规范这篇文档所给出的编码约定适用于在主要的Python发布版本中组成标准库的Python代码,请查阅相关的关于在Python的C实现中C代码风格指南的描述
这篇文档改编自Guido最初的《Python风格指南》一文,并从《Barry'sstyleguide》中添加了部分内容
在有冲突的地方,Guide的风格规则应该是符合本PEP的意图(译注:指当有冲突时,应以Guido风格为准)
这篇PEP仍然尚未完成(实际上,它可能永远都不会完成)
在这篇风格指导中的一致性是重要的
在一个项目内的一致性更重要
在一个模块或函数内的一致性最重要
但最重要的是:知道何时会不一致——有时只是没有实施风格指导
当出现疑惑时,运用你的最佳判断,看看别的例子,然后决定怎样看起来更好
并且要不耻下问
打破一条既定规则的两个好理由:(1)当应用这个规则是将导致代码可读性下降,即便对某人来说,他已经习惯于按这条规则来阅读代码了
(2)为了和周围的代码保持一致而打破规则(也许是历史原因),虽然这也是个清除其它混乱的好机会(真正的XP风格)
代码的布局缩进使用Emacs的Python-mode的默认值:4个空格一个缩进层次
对于确实古老的代码,你不希望产生混乱,可以继续使用8空格的制表符(8-spacetabs)
EmacsPython-mode自动发现文件中主要的缩进层次,依此设定缩进参数
制表符还是空格永远不要混用制表符和空格
最流行的Python缩进方式是仅使用空格,其次是仅使用制表符,混合着制表符和空格缩进的代码将被转换成仅使用空格
(在Emacs中,选中整个缓冲区,按ESC-x去除制表符
)调用Python命令行解释器时使用-t选项,可对代码中不合法得混合制表符和空格发出警告,使用-tt时警告将变成错误
这些选项是被高度推荐的
对于新的项目,强烈推荐仅使用空格而不是制表