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

Тернарные операторы — это встроенные в Python условные операторы, которые используются для оценки определенных условий. Он оценивает, является ли условие истинным или ложным. Как и оператор if-else, это еще один способ определения условных операторов. Тернарный оператор определяется в одной строке. Оператор if-else и тернарный оператор возвращают аналогичный результат. Тернарный оператор был представлен в Python версии 2.5. В этой статье подробно объясняется тернарный оператор Python с примерами.

 

Синтаксис

Давайте сначала обсудим синтаксис тернарного оператора Python. Синтаксис следующий:

[on_true] if [expression or condition] else [on_false]

При использовании тернарного оператора сначала мы пишем имя переменной, значение которой должно проверяться в условии. Оператор on_flase выполняется, когда данное условие не выполняется.

 

Примеры

Теперь давайте посмотрим на несколько примеров, чтобы понять использование тернарного оператора. В приведенном ниже примере мы сравниваем два числовых значения с помощью тернарного оператора.

#обьявление переменной a num1

num1=5

#обьявление переменной a num2

num2=10

#использование тернарного оператора для проверки наибольшего значения

result= num1 if num1>num2 else num2

print("The highest value is: ",result)

 

Тот же пример можно реализовать с помощью оператора if-else. Тернарный оператор выполняет задание в одной строке; однако оператор if-else использует несколько строк кода для одной и той же задачи. Давайте реализуем приведенный выше пример с помощью оператора if-else.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#реализация оператора if else

if(num1>num2):

result=num1

else:

result=num2

#печать самого высокого значения

print("Самое высокое значение-это: ",result)

 

Также может быть реализован вложенный тернарный оператор. Давайте реализуем вложенный тернарный оператор в нашем скрипте Python.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#Реализация вложенного тернарного оператора

print ("num1 больше, чем num2" if num1>num2 else "num1 меньше, чем num2"

if num1==num2 else "Оба числа не равны")

 

Способы реализации тернарного оператора Python

Есть разные способы реализации тернарного оператора Python. Мы можем реализовать тернарный оператор Python, используя кортежи, словари и лямбда-функции. Давайте реализуем тернарный оператор с помощью кортежа. Мы создали две числовые переменные num1 и num2 и сохранили случайные числа в этих переменных. Случайные числа в Python создаются с помощью функции random(). Функция random() присутствует в модуле random.

import random

num1=random.random()

num2=random.random()

#реализация тернарного оператора

print((num1, num2) [num1>num2])

 

По выходным данным мы не можем определить, что это значение num1 или num2. Давайте реализуем приведенный выше код следующим образом:

import random

num1=random.random()

num2=random.random()

print((f"num1:{num1}", f"num2:{num2}") [num1>num2])

 

Хорошо! Теперь давайте реализуем тернарный оператор, используя словарь Python и лямбда-функцию.

import random

num1=random.random()

num2=random.random()

#использование словаря Python

print("Использование словаря Python:")

print(({True:f"num1:{num1}",False:f"num2:{num2}"}[num1>num2]))

#использование лямбда-функции

print("Использование лямбда-функции:")

print((lambda: f"num1:{num1}", lambda: f"num2:{num2}")[num1>num2]())

 

Вывод

Тернарные операторы — это встроенные в Python операторы, которые оценивают данное условие. Это работает как оператор if-else. В этой статье подробно объясняется тернарный оператор Python.



2020-11-30T11:55:12
Python