Тернарный оператор в Python — это «заменитель» конструкции «if...else». По факту его использование помогает улучшить читабельность и объем кода.
Вообще, тернарный оператор — это «тройной» оператор, который определяет тернарную операцию. Тернарная операция — эта такая операция, которая возвращает второй или третий собственный операнд, в зависимости от того, выполняются или не выполняются определенные условия логического выполнения. В некоторых языках программирования тернарный оператор обозначается специальными символами, например: «?» и «:». Условный код тернарной операции на таких языках выглядел бы так:
<переменная> = <условие> ? <выражение №1> : <выражение №2>
Однако в Python все совсем не так — в нем нет специальных символов для обозначения тернарной операции.
Тернарный оператор Python
Тернарный оператор Python не содержит специальных символов для собственного обозначения, а является специальным стилем написания конструкции «if...else». Вместо полноценной условной конструкции он предлагает использовать написание демонстрации определенного условия, которое будет проверяться на значения «true» и «false».
Тернарный оператор на Питоне пишется по такому шаблону:
<когда «true»> if <условия> else <когда false>
Тернарный оператор Python: пример
На основе представленного выше шаблона давайте посмотрим, как мог бы выглядеть тернарный оператор при программировании на Питоне:
is_powerful = true
track = "Volvo" if is_powerful else "Passenger_Car"
Если не использовать тернарный оператор, а воспользоваться стандартной условной конструкцией «if...else», тогда получится вот такой код:
if is_powerfull :
track = "Volvo"
else:
track = "Passenger_Car"
Невооруженным глазом видно, что в первом случае легче читать код, плюс занимает всего 2 строчки кода вместо 4 строчек в стандартном исполнении. Теперь представьте, когда кода очень много и возможностей использовать тернарный оператор также очень много. В этом случае программный код существенно уменьшится.
Описанный выше пример — это простая реализация тернарного оператора, где фактически мы просто заменили конструкцию «if..else» более удобным написанием. Но это не все, на что способен тернарный оператор Питона. Еще есть вариант синтаксиса «с кортежем».
Тернарный оператор Python: пример «с кортежем»
Тернарный оператор Python «с кортежем» создается по такому шаблону:
(<когда «false»>, <когда «true»>)[условия]
Теперь возьмем на вооружение этот шаблон и реализуем наш пример в коде. Нужно обратить внимание, что в первом случае первым пишется значение «когда true», а в примере с «кортежем» первым пишется значение «когда false». Например, в коде:
is_powerfull = true
track("Passenger_Car", "Volvo")[is_powerfull]
Если сравнивать по частоте использования, тогда можно увидеть, что первый вариант синтаксиса тернарного оператора используется чаще, чем второй вариант «с кортежем». Этот вариант потребляет больше системных ресурсов и менее читабелен.
Заключение
Тернарный оператор в Python не несет в себе каких-либо колоссально важных значений. Он выполняет две простые функции, и ради них нужно понимать, что такое тернарный оператор в Питоне. Он нужен для того, чтобы:
заменить стандартную конструкцию «if...else» на более удобную;
уменьшить объем программного кода за счет уменьшения его строк.
Python