V tem članku se boste naučili uporabljati pogojni ali trojni operator za spreminjanje krmilnega toka programa.
Ternarni pogojni operator "? :"
je okrajšava za stavek if-else.
Sintaksa za ternarni pogojni operator je:
stanje? vrednost1: vrednost2
Kako deluje ternarni pogojni operater?
Evo, kako to deluje
- Če je pogoj resničen, vrne vrednost1.
- Če je pogoj napačen, vrne vrednost2.
Zgornja enakovredna koda z uporabo if - else je:
če je pogoj (vrednost1) sicer (vrednost2)
Zakaj uporabljati trojni pogojni operator?
Morda se sprašujete, zakaj naj uporabljamo pogojni operator, če opravlja enako delo kot stavek if-else. Glavni namen njegove uporabe je, da je koda krajša in bolj berljiva.
Za enostavne pogoje ga lahko ocenite v eni vrstici z manj kode kot if-else.
Primer 1: Preprost primer uporabe ternarnega pogojnega operatorja
print(true && false ? "The condition is true": "The condition is false")
Zgornja enakovredna koda z uporabo if - else je:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
Ko zaženete zgornji program, bo rezultat:
Pogoj je napačen
V zgornjem programu izraz true && false
izračuna vrednost false
, zato stavek vrne niz . Pogoj je neresničen in stavek za tiskanje izpiše niz v konzoli.
Če spremenite izraz, ko true || false
stavek ovrednoti true
in vrne niz . Pogoj je res in natisni stavek v konzoli vstavi niz.
Stvari, ki si jih je treba zapomniti
Ternarni pogojni operator se lahko uporablja tudi kot alternativa if-else-if
izjavi.
Z uporabo ternarnega pogojnega operatorja lahko več vrstic if-else-if
kode zamenjate z eno vrstico.
Vendar morda ni dobra ideja.
Primer 2: ugnezdena, če drugače, z uporabo ternarnega pogojnega operatorja
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") )
Zgornja enakovredna koda z uporabo ternarnega pogojnega operatorja je:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
Ko zaženete zgornje programe, bosta oba izhoda:
Rezultat je resničen
V zgornjih programih pa je stavek if-else-if
nadomeščen z eno vrstico z uporabo pogojnega operatorja. Izraz, uporabljen v ternarnem pogojnem operatorju, je res težko razumljiv.
Torej, samo držite se uporabe ternarnega pogojnega operatorja kot alternative if-else
samo izjavi.