PEP8 E226推荐

PEP8 E226 recommendation

E226 错误代码是关于 "missing whitespace around arithmetic operator".

我在 Sublime 中使用 Anaconda 的包,它将突出显示为 PEP8 E226 违规,例如这一行:

hypot2 = x*x + y*y

但在运算符内的 Guido's PEP8 style guide that line is actually shown as an example of recommended use 个空格中。

问题:哪个是正确的指南?始终在运算符周围留空格或仅在某些情况下(如 Guido 的建议所示)?

另外:谁来决定 PEP8 中的内容?我原以为 Guido 的建议将在很大程度上决定它的工作原理。

PEP8 中说:

If operators with different priorities are used, consider adding whitespace around the operators with the lowest priority(ies). Use your own judgment; however, never use more than one space, and always have the same amount of whitespace on both sides of a binary operator. (Emphasis is my own).

在列出的示例中,+ 的优先级较低,因此 BDFL 选择在其周围使用空格,而在较高优先级 * 周围不使用空格。

PEP8 工具的维护者决定其中的内容。

如您所见,这些并不总是与 PEP8 风格指南完全匹配。在这种特殊情况下,我不知道这是维护人员的过度站点,还是故意的决定。你必须让他们找出答案,或者你可能会在提交历史中找到答案。

Guido 最近要求 pep8 和 pep257 工具的维护者重新命名它们,以避免这种混淆。 See this issue for example。因此,这些工具分别重命名为 pycodestyle 和 pydocstyle。

这种情况发生在我身上。我们应该 space 总是在数字或变量和操作之间。

示例:

a=b*4 wrong


a = b * 4  correct