0

我阅读了PEP 8: Style Guide for Python,但我不太确定如何在参数中设置数学运算符的样式。

例如,对于=标志 PEP 8 说

Yes:
    x = 3
    y = foo(bar=3)
No:
    x=3
    y = foo(bar = 3)

但是其他数学运算符,如-, +,/等呢?哪种风格好?

foo_bar = bar[i - 3][j + 2]
z = foobar(y=i - 1, z=k + 2)

或者

foo_bar = bar[i-3][j+1]
z = foobar(y=i-1, z=k+2)

?

老实说,我认为后者看起来更好。

从 PEP 8:

其他建议

  • 始终在这些二元运算符两边加上一个空格:赋值 (=)、扩充赋值(+=、-= 等)、比较(==、<、>、!=、<>、<=、>= , in, not in, is, is not), 布尔值 (and, or, not)。

  • 在算术运算符周围使用空格:

  • 当用于指示关键字参数或默认参数值时,请勿在 = 符号周围使用空格。

4

2 回答 2

4

运算符应始终被空格包围。=当用于关键字参数时,不被视为运算符。

于 2012-04-13T19:01:57.170 回答
2

在 Pep 8 的顶部是这个建议:

但最重要的是:知道何时不一致——有时风格指南并不适用。如有疑问,请使用您的最佳判断。

有两个明确的例外,我认为参数传递属于这一点:

  1. 应用规则会使代码的可读性降低,即使对于习惯于阅读遵循规则的代码的人也是如此。

我会省略参数中的空格,以作为示例:

foo_bar = bar[i - 3][j + 2]
z = foobar(y=i-1, z=k+2) 
于 2012-04-13T19:06:05.767 回答