Very Long If Statement in Python
本问题已经有最佳答案,请猛点这里访问。
我在python中有一个非常长的if语句。把它分成几行最好的方法是什么?我指的是最可读/最常见的。
根据PEP8,长线应放在括号中。使用圆括号时,可以不使用反斜杠将行拆分。您还应该尝试将换行符放在布尔运算符之后。
此外,如果您正在使用代码样式检查(如pycodestyle),则下一个逻辑行需要对代码块进行不同的缩进。
例如:
1 2 3 4 | if (abcdefghijklmnopqrstuvwxyz > some_other_long_identifier and here_is_another_long_identifier != and_finally_another_long_name): # ... your code here ... pass |
以下是PEP 8关于限制线长度的直接示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Rectangle(Blob): def __init__(self, width, height, color='black', emphasis=None, highlight=0): if (width == 0 and height == 0 and color == 'red' and emphasis == 'strong' or highlight > 100): raise ValueError("sorry, you lose") if width == 0 and height == 0 and (color == 'red' or emphasis is None): raise ValueError("I don't think so -- values are %s, %s" % (width, height)) Blob.__init__(self, width, height, color, emphasis, highlight) |