В этой статье вы научитесь использовать условный или тернарный оператор для изменения потока управления программой.
Тернарный условный оператор "? :"
является сокращением для оператора if-else.
Синтаксис тернарного условного оператора:
состояние ? значение1: значение2
Как работает тернарный условный оператор?
Вот как это работает
- Если условие истинно, возвращается значение1.
- Если условие ложно, возвращается значение2.
Приведенный выше эквивалентный код с использованием if - else:
если условие (значение1) иначе (значение2)
Зачем использовать тернарный условный оператор?
Вам может быть интересно, зачем нам использовать условный оператор, если он выполняет ту же работу, что и оператор if-else. Основная цель его использования - сделать код короче и читабельнее.
Для простых условий вы можете оценить его в одной строке с меньшим количеством кода, чем if-else.
Пример 1: Простой пример с использованием тернарного условного оператора
print(true && false ? "The condition is true": "The condition is false")
Приведенный выше эквивалентный код с использованием if - else:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Когда вы запустите вышеуказанную программу, результат будет:
Условие ложное
В приведенной выше программе выражение true && false
оценивается как false
, поэтому оператор возвращает строку . Условие ложно, а оператор печати выводит строку в консоли.
Если вы измените выражение, когда true || false
оператор оценивает true
и возвращает строку, условие истинно, и оператор печати выводит строку в консоль.
То, что нужно запомнить
Тернарный условный оператор также может использоваться как альтернатива if-else-if
оператору.
С помощью тернарного условного оператора вы можете заменить несколько строк if-else-if
кода одной строкой.
Однако это может быть не самой хорошей идеей.
Пример 2: Вложенный if else с использованием тернарного условного оператора
if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") )
Вышеупомянутый эквивалентный код с использованием тернарного условного оператора:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Когда вы запустите вышеуказанные программы, оба вывода будут:
Результат верный
В приведенных выше программах, хотя операторы if-else-if
заменены одной строкой за счет использования условного оператора. Выражение, используемое в тернарном условном операторе, действительно трудно понять.
Поэтому просто используйте тернарный условный оператор только как альтернативу if-else
оператору.