В тази статия ще се научите да използвате условен или трикратен оператор, за да промените контролния поток на програмата.
Тройният условен оператор "? :"
е стенография за оператора if-else.
Синтаксисът на тройния условен оператор е:
състояние? стойност1: стойност2
Как работи тройният условен оператор?
Ето как става това
- Ако условието е вярно, то връща value1.
- Ако условието е невярно, то връща value2.
Горният еквивалентен код, използващ 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
, следователно изразът връща низа Условието е false и операторът print извежда низа в конзолата.
Ако промените израза, докато true || false
изразът оценява на true
и връща низа Условието е вярно и операторът за печат извежда низа в конзолата.
Неща за запомняне
Тройният условен оператор също може да се използва като алтернатива на if-else-if
изявлението.
С използването на тройния условен оператор можете да замените множество редове if-else-if
код с един ред.
Може обаче да не е добра идея.
Пример 2: Вложен, ако не, използвайки тройния условен оператор
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
само на изявление.