E226错误代码是关于"算术运算符" 周围缺少空格。
我在Sublime中使用Anaconda的软件包,它将突出显示为PEP8 E226违规,例如此行:
hypot2 = x*x + y*y
但在Guido's PEP8 style guide中,该行实际上显示为运算符中recommended use个空格的示例。
问题:哪个是正确的指南?总是在操作员周围空间或仅在某些情况下(如Guido的推荐所示)?
另外:谁决定PEP8的内容?我认为Guido的建议几乎可以决定它是如何运作的。
答案 0 :(得分:8)
PEP8工具的维护者决定了它的内容。
正如您所注意到的,这些并不总是完全符合PEP8样式指南。在这种特殊情况下,我不知道维护人员是否过度了解或是故意做出决定。您必须要求他们查明,或者您可能会在提交历史记录中找到答案。
Guido最近要求维护人员将pep8和pep257工具重命名,以避免这种混淆。 See this issue for example。结果,这些工具分别被重命名为pycodestyle和pydocstyle。
答案 1 :(得分:5)
在PEP8中说:
如果使用具有不同优先级的运算符,考虑在具有最低优先级的运算符周围添加空格。 使用您自己的判断;但是,永远不要使用多个空格,并且在二元运算符的两边始终具有相同数量的空白。 (强调是我自己的)。
在列出的示例中,+
的优先级较低,因此BDFL选择使用它周围的空格,并且不使用高优先级*
周围的空格。