我找不到围绕pep8 E502和W504的好方法
我有这样的代码
if (foo(a, b) or
foo1(c, d) or
foo2(e, f) ) and
foo3(g, h):
如果我这样写,那么我会抱怨我违反了“二元运算符之后的W504换行符”。
但是,如果我在二元运算符后添加换行符,那么我会抱怨我违反了“E502反斜杠在括号之间是多余的”
如果我不能将它们分成一行,我应该如何编写代码?
你是“应该”写的
if (foo(a, b)
or foo1(c, d)
or foo2(e, f)
and foo3(g, h)):
在下一行的开头使用二元运算符。
甚至PEP-8也有点摇摆不定;它建议新运算符的前运算符中断,但只要它在整个文件中是一致的,就接受运算符后的中断。
(我更喜欢运营商的休息时间。对我而言,更强烈地表明表达式将继续到下一行。因此,我只会使用--ignore W504
。)