Тернарный условный оператор в Python
В этом уроке вы узнаете о тернарном операторе Python и о том, как его использовать, чтобы сделать ваш код более кратким.
Введение в тернарный оператор Python
Следующая программа запрашивает ваш возраст и на его основе определяет стоимость билета:
age = input('Enter your age:') if int(age) >= 18: ticket_price = 20 else: ticket_price = 5 print(f"The ticket price is {ticket_price}")
Вот результат, когда вы вводите 18:
Enter your age:18 The ticket price is $20
В этом примере следующий оператор if…else присваивает Ticket_price 20, если возраст больше или равен 18. В противном случае он присваивает Ticket_price 5:
if int(age) >= 18: ticket_price = 20 else: ticket_price = 5
Чтобы сделать его более кратким, вы можете использовать альтернативный синтаксис, например:
ticket_price = 20 if int(age) >= 18 else 5
В этом операторе левая часть оператора присваивания (=) — это переменная Ticket_price. Выражение в правой части возвращает 20, если возраст больше или равен 18, или 5 в противном случае.
Следующий синтаксис называется тернарным оператором в Python:
value_if_true if condition else value_if_false
Тернарный оператор оценивает условие. Если результат равен True, он возвращает значение value_if_true. В противном случае он возвращает значение_if_false.
Тернарный оператор эквивалентен следующему оператору if…else:
if condition: value_if_true else: value_if_true
Обратите внимание, что вы работали с такими языками программирования, как C# или Java, и знакомы со следующим синтаксисом тернарного оператора:
condition ? value_if_true : value_if_false
Однако Python не поддерживает синтаксис тройного оператора.
В следующей программе вместо оператора if используется тернарный оператор:
age = input('Enter your age:') ticket_price = 20 if int(age) >= 18 else 5 print(f"The ticket price is {ticket_price}")