У меня очень длинный оператор if в Python. Каков наилучший способ разбить его на несколько строк? К лучшему я имею в виду большинство читаемых/общих.
Очень длинное выражение в Python
Ответ 1
Согласно PEP8, длинные строки должны быть помещены в круглые скобки. При использовании круглых скобок строки могут быть разбиты без использования обратных косых черт. Вы также должны попытаться поместить разрыв строки после булевых операторов.
Например:
if (abcdefghijklmnopqrstuvwxyz > some_other_long_identifier and
here_is_another_long_identifier != and_finally_another_long_name):
# ... your code here ...
pass
Ответ 2
Вот пример непосредственно из PEP 8 по ограничению длины строки:
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)