I den här artikeln lär du dig att använda villkorlig eller ternär operatör för att ändra kontrollflödet i programmet.
Den ternära villkorliga operatören "? :"
är en förkortning för if-else-uttalande.
Syntaksen för ternär villkorlig operatör är:
skick ? värde1: värde2
Hur ternära villkorlig operatör fungerar?
Så här fungerar det
- Om villkoret är sant returnerar det värde1.
- Om villkoret är falskt returnerar det värde2.
Ovanstående motsvarande kod med if - else är:
om villkor (värde1) annat (värde2)
Varför använda ternary Conditional Operator?
Du kanske undrar varför ska vi använda villkorlig operatör om den gör samma jobb som if-else-uttalande. Huvudsyftet med att använda den är att göra koden kortare och mer läsbar.
För enkla förhållanden kan du utvärdera den i en enda rad med mindre kod än if-else.
Exempel 1: Enkelt exempel med ternär villkorlig operatör
print(true && false ? "The condition is true": "The condition is false")
Ovanstående motsvarande kod med if - else är:
if true && false ( print("The condition is true") ) else ( print("The condition is false") )
När du kör programmet ovan kommer utmatningen att vara:
Villkoret är falskt
I ovanstående program true && false
utvärderas uttrycket till false
, därför returnerar uttalandet strängen. Villkoret är falskt och utskriftsutdraget matar ut strängen i konsolen.
Om du ändrar uttrycket när true || false
uttalandet utvärderas till true
och returnerar strängen Villkoret är sant och utskrift uttalande matar ut strängen i konsolen.
Saker att komma ihåg
Ternär villkorlig operatör kan också användas som ett alternativ till if-else-if
uttalande.
Med användning av ternär villkorlig operatör kan du ersätta flera if-else-if
kodrader med en rad.
Det kan dock inte vara en bra idé.
Exempel 2: Inkapslat om annars använder ternär villkorlig operatör
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") )
Ovanstående ekvivalent kod med ternär villkorlig operatör är:
print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")
När du kör ovanstående program kommer båda utdata att vara:
Resultatet är sant
I ovanstående program, även om uttalandena if-else-if
ersätts med en rad med användning av villkorlig operatör. Uttrycket som används i ternär villkorlig operatör är verkligen svårt att förstå.
Så håll dig bara till användningen av ternär villkorlig operatör som ett alternativ till if-else
uttalande.