Как я должен указывать тернарный условный оператор в python, чтобы он соответствовал PEP8?
PEP8 ничего не говорит о тройных операторах, если я не ошибаюсь.
Итак, что вы предлагаете, как мне писать длинные строки с тернальными условными операторами?
some_variable = some_very_long_value \
if very_long_condition_holds \
else very_long_condition_doesnt_hold
или
some_variable = some_very_long_value \
if very_long_condition_holds \
else very_long_condition_doesnt_hold
Какой из них вы предпочитаете больше всего?
Ответы
Ответ 1
Ни. Для любой длинной строки обычно лучше использовать круглые скобки, чтобы разрешить разрывы строк. Мнения различаются, следует ли вам это делать:
some_variable = (some_very_long_value
if very_long_condition_holds
else very_long_condition_doesnt_hold)
или это:
some_variable = (
some_very_long_value
if very_long_condition_holds
else very_long_condition_doesnt_hold)
или даже это:
some_variable = (
some_very_long_value
if very_long_condition_holds
else very_long_condition_doesnt_hold
)
Лично я предпочитаю третий; Внутренний стиль Google - второй.
Ответ 2
some_variable = some_very_long_value\
if very_long_condition_holds\
else othervalue
предпочитают фигурные скобки, когда сталкиваются с такими проблемами.
проверьте здесь максимальную длину линии. http://legacy.python.org/dev/peps/pep-0008/#maximum-line-length
Ответ 3
some_variable = (some_very_long_value
if very_long_condition_holds else
very_long_condition_doesnt_hold)
- Используйте скобки вместо обратных косых черт для продолжения строк, на PEP8.
- Полагая конструкцию
if ... else
в своей собственной строке, существует четкое разделение между тремя частями этого выражения: выражение then
, условная часть и выражение else
. Выражения then
и else
отформатированы равномерно и отделены от конструкции if...else
.