Тернарный условный оператор в Python 3

Тернарный условный оператор в Python

Тернарный оператор — способ превратить простую условную инструкцию в выражение. 

Введение

Тернарный условный оператор — это оператор доступный во многих языках программирования, результатом которой возвращается второй или третий операнд, зависит от условного выражения заданного первым операндом. «Тернариус» в переводе с латинского имеет значение — тройной, это позволит вам запомнить, что операция принимает всего три операнда.

Так же вы можете ознакомиться с содержимом статьи на Википедии.

Использование

У нас есть переменная 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.

Заключение

Сегодня мы рассмотрели с вами условный тернарный оператор, рассмотрели несколько способов его использования и применили полученные знания на практике.

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий