Сокращённый If
Когда у if только одна инструкция для выполнения, её можно разместить в той же строке.
Примечание: условие всё равно должно заканчиваться двоеточием :.
Пример
if, записанный в одной строке:if, которая выводит сообщение, если a больше b.
Вывод: полная программа на Python
a = 5
b = 2
if a > b: print("a больше b")
Сокращённый If ... Else
Та же идея работает с одной инструкцией для if и одной для else: они могут занимать одну строку.
В Python такая форма называется условным выражением, но вы можете услышать и название «тернарный оператор».
Пример
if/else:if/else с условным выражением, который выводит "A" или "B" в зависимости от результата сравнения.
Вывод: полная программа на Python
a = 2
b = 330
print("A") if a > b else print("B")
Присваивание значения с помощью If ... Else
Однострочный if/else также может выбрать значение, которое вы сохраните в переменной.
Общий шаблон выглядит так:
Пример
Вывод: полная программа на Python
a = 10
b = 20
bigger = a if a > b else b
print("Большее значение:", bigger)
variable = value_if_true if condition else value_if_false
Несколько условий в одной строке
Условные выражения можно объединять в цепочку. Только остановитесь раньше, чем строку станет трудно читать:
Пример
a, чем b, равно ему или меньше.
Вывод: полная программа на Python
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
Практические примеры
Тернарные операторы особенно хорошо подходят для простых присваиваний и инструкций return.
Пример
Вывод: полная программа на Python
x = 15
y = 20
max_value = x if x > y else y
print("Максимальное значение:", max_value)
Пример
Вывод: полная программа на Python
username = ""
display_name = username if username else "Гость"
print("Добро пожаловать,", display_name)
Когда использовать сокращённый If
Сокращённый if или тернарный оператор — хороший выбор, когда:
- и условие, и действия простые
- код становится легче читать
- переменной быстро нужно значение, зависящее от условия
Важно: более короткий код не всегда лучше, поэтому не полагайтесь на эту форму при сложных условиях. Когда логика сложная или занимает несколько строк, обычную инструкцию if-else читать легче.