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