PEP8 E129和E127/E128之间的矛盾

2024-06-08 22:12:21 发布

您现在位置:Python中文网/ 问答频道 /正文

根据PEP标准,缩进应该在二元运算符之前。此外,多行条件应该用括号括起来,以避免在换行之前使用反斜杠。这两个公约导致了以下情况

if (long_condition_1
    or long_condition_2):
    do_some_function()

这段代码依次中断PEP8中的E129 visually indented line with same indent as next logical line。但是,第二行必须正好缩进四个空格,否则它将断开E128或E127,表示缩进不足或过度缩进的行。在

如何格式化上述文件,使其符合PEP8标准?在


Tags: or标准ifline情况运算符condition条件
2条回答

这个问题的答案随着时间的推移而改变。由于PEP8立场的改变,W503现在被广泛认为是针对PEP8的。在

PEP8现在说,可以在之前或之后中断,但要在本地保持一致。在

对于较新的代码,Knuth样式是首选的(我认为这是指在操作员之前中断)。在

if (
    long_condition_1
    or long_condition_2
    or (
        long_condition_3
        and long_condition4
    )
):
    do_some_function()

这应该能正常工作

if (long_condition_1 or
       long_condition_2):
    do_some_function()

相关问题 更多 >