Python开发编码规范
这篇文档所给出的编码约定适用于在主要的 Python 发布版本中组成标准库的 Python
代码,请查阅相关的关于在 Python 的 C 实现中 C 代码风格指南的描述。
这篇文档改编自 Guido 最初的《 Python 风格指南》一文,并从《 Barry's style guide 》中
添加了部分内容。在有冲突的地方, Guide 的风格规则应该是符合本 PEP 的意图 (译注:指
当有冲突时,应以 Guido 风格为准 )。这篇 PEP 仍然尚未完成 (实际上,它可能永远都不会完
成)。
在这篇风格指导中的一致性是重要的。 在一个项目内的一致性更重要。 在一个模块或函
数内的一致性最重要。但最重要的是:知道何时会不一致——有时只是没有实施风格指导。
当出现疑惑时, 运用你的最佳判断, 看看别的例子,然后决定怎样看起来更好。并且要不耻
下问!
打破一条既定规则的两个好理由:
(1) 当应用这个规则是将导致代码可读性下降, 即便对某人来说,他已经习惯于按这条
规则来阅读代码了。
(2) 为了和周围的代码保持一致而打破规则 (也许是历史原因 ),虽然这也是个清除其它
混乱的好机会 (真正的 XP 风格 )。
代码的布局
缩进
使用 Emacs 的 Python-mode 的默认值: 4 个空格一个缩进层次。对于确实古老的代码,
你不希望产生混乱,可以继续使用 8 空格的制表符 (8-space tabs)。Emacs Python-mode 自动
发现文件中主要的缩进层次,依此设定缩进参数。
制表符还是空格
永远不要混用制表符和空格。最流行的 Python 缩进方式是仅使用空格,其次是仅使用
制表符,混合着制表符和空格缩进的代码将被转换成仅使用空格。 (在 Emacs 中,选中整个
缓冲区,按 ESC-x 去除制表符。 )调用 Python 命令行解释器时使用 -t 选项,可对代码中不合
法得混合制表符和空格发出警告,使用 -tt 时警告将变成错误。这些选项是被高度推荐的。
对于新的项目, 强烈推荐仅使用空格而不是制表符。 许多编辑器拥有使之易于实现的功
能(在 Emacs 中,确认 indent-tabs-mode 是 nil) 。
行的最大长度
周围仍然有许多设备被限制在每行 80 字符: 而且, 窗口限制在 80 个字符。 使将多个窗
口并排放置成为可能。 在这些设备上使用默认的折叠方式看起来有点丑陋。 因此, 请将所有
行限制在最大 79 字符 (Emacs 准确得将行限制为长 80 字符 ),对顺序排放的大块文本 (文档字
符串或注释 ),推荐将长度限制在 72 字符。
折叠长行的首选方法是使用 Pyhon 支持的圆括号,方括号和花括号内的行延续。如果
需要, 你可以在表达式周围增加一对额外的圆括号, 但是有时使用反斜杠看起来更好, 确认
恰当得缩进了延续的行。
Emacs 的 Python-mode 正确得完成了这些。一些例子:
#!Python
class Rectangle(Blob) :
def __init__(self , width ,height ,color='black' ,emphasis=None,highlight=0) :