result = value_if_true if condition else value_if_false
. Для `elif` в одной строке используют вложенные тернарные операторы, но это ухудшает читаемость.
Да, в Python можно писать конструкции if
, elif
и else
в одной строке, но это возможно только для простых условных выражений и с использованием тернарного оператора (также называемого условным выражением).
Тернарный оператор:
Формат записи тернарного оператора: [выражение_если_истина] if [условие] else [выражение_если_ложь]
Примеры:
Пример с if
и else
:
x = 10
result = "Положительное" if x > 0 else "Неположительное"
print(result) # Вывод: Положительное
Вложенные тернарные операторы (эквивалент if
, elif
, else
):
score = 75
grade = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D" if score >= 60 else "F"
print(grade) # Вывод: C
Важно отметить:
if
, elif
, else
, чтобы код оставался читаемым и поддерживаемым. Вложенные тернарные операторы, как в примере выше с оценками, могут быстро стать сложными для понимания.