Тернарный оператор — способ превратить простую условную инструкцию в выражение.
Введение
Тернарный условный оператор — это оператор доступный во многих языках программирования, результатом которой возвращается второй или третий операнд, зависит от условного выражения заданного первым операндом. «Тернариус» в переводе с латинского имеет значение — тройной, это позволит вам запомнить, что операция принимает всего три операнда.
Так же вы можете ознакомиться с содержимом статьи на Википедии.
Использование
У нас есть переменная a со значением 100 и переменная b со значением 200, а в переменную c мы запишем результат условной тернарной операции.
a = 100 b = 200 c = a if > b else b c 200
Расшифровка условия: Если a больше чем b тогда в переменную c записываем значение переменной a, иначе записываем b.
Но это не единственный способ использование тернарных операторов в Python.
Альтернативный способ использования
Так же существует еще одна конструкция, которую крайне редко где встретишь. Выглядит конструкция таким образом:
(Ложь, Истина)[Условие]
Как это работает
- В круглых скобках указываются два элемента кортежа
- В квадратных скобках вычисляется условие
- Если выполненное условие в квадратных скобках возвращает True, то идет обращение к индексу 1 кортежа, если возвращает False к индексу 0
Посмотрим на примере как это работает
a = 100 b = 200 c = (False, True)[a > b] c False
переменная a меньше чем b, поэтому оператор обращается к нулевому индексу кортежа и возвращает в переменную c булевое значение False.
Заключение
Сегодня мы рассмотрели с вами условный тернарный оператор, рассмотрели несколько способов его использования и применили полученные знания на практике.