logo

Ternaire operator in Python

Met de ternaire operator in Python kunnen we voorwaardelijke controles uitvoeren en waarden toewijzen of bewerkingen uitvoeren op één regel. Het wordt ook wel een voorwaardelijke expressie genoemd, omdat het een voorwaarde evalueert en één waarde retourneert als de voorwaarde Waar is, en een andere waarde als deze Onwaar is.

Basisvoorbeeld van een ternaire operator

De eenvoudigste manier om een ​​ternaire Python-operator te gebruiken is wanneer we een eenvoudige als anders voorwaarde - een van de twee voorwaarden is waar en de andere is onwaar.



Laten we beginnen met een eenvoudig voorbeeld om te bepalen of een getal even of oneven is:

Python
n = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res) 

Uitvoer
Odd 

De ternaire operator kan op verschillende manieren worden gebruikt. Laten we een paar verschillende voorbeelden bekijken van het gebruik van ternaire operators in Python:

Inhoudsopgave



Ternaire operator in genest If else

De ternaire operator kan ook worden gebruikt Python geneste if-else-instructie . We kunnen ternaire operatoren nesten om meerdere voorwaarden op één regel te evalueren.

Syntaxis: waarde_if_true als voorwaarde anders waarde_if_false

binaire boom

Voorbeeld:



Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res) 

Uitvoer
Negative 

Uitleg:

  • Eerst wordt gecontroleerd of num > 0. Indien True retourneert het 'Positief'.
  • Als False wordt gecontroleerd of num< 0. If True it returns 'Negative'.
  • Als beide voorwaarden mislukken, wordt de waarde standaard ingesteld op 'Nul'.

Ternaire operator die Tuple gebruikt

De ternaire operator kan ook worden geschreven met behulp van Python-tupels . De tuple-indexeringsmethode is een alternatief voor de ternaire operator.

Syntaxis: (condition_is_false condition_is_true)[voorwaarde]

Voorbeeld:

Python
n = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res) 

Uitvoer
Odd 

Uitleg:

  • De voorwaarde num % 2 == 0 resulteert in False (index 0), dus wordt 'Oneven' geselecteerd.

Ternaire operator met behulp van woordenboek

A woordenboek kan worden gebruikt om voorwaarden aan waarden toe te wijzen, waardoor een manier wordt geboden om een ​​ternaire operator met complexere voorwaarden te gebruiken.

upcasting

Syntaxis: condition_dict = {Waar: waarde_if_true Onwaar: waarde_if_false}

Voorbeeld:

Python
a = 10 b = 20 max = {True: a False: b}[a > b] print(max) 

Uitvoer
20 

Uitleg: Hierbij wordt een woordenboek gebruikt waarbij de sleutel Waar of Onwaar is op basis van de voorwaarde a > b. Vervolgens wordt de overeenkomstige waarde (a of b) geselecteerd.

Ternaire operator met Python Lambda

Lambda's kan worden gebruikt in combinatie met de ternaire operator voor inline voorwaardelijke logica.

xor in c++

Syntaxis: lambda x: waarde_if_true als voorwaarde anders waarde_if_false

Voorbeeld:

Python
a = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max) 

Uitvoer
20 

Uitleg: Dit definieert een anonieme functie (lambda) die twee argumenten nodig heeft en de grotere retourneert met behulp van de ternaire operator. Het wordt dan aangeroepen met a en b.

Ternaire operator met printfunctie

De ternaire operator kan ook rechtstreeks worden gebruikt met de Python-afdrukverklaring . De syntaxis is als volgt:

Syntaxis: print(waarde_if_true als voorwaarde anders waarde_if_false)

Voorbeeld: In dit voorbeeld vinden we het minimumaantal tussen twee getallen met behulp van de ternaire Python-operator met printinstructie.

Python
a = 10 b = 20 print('a is greater' if a > b else 'b is greater') 

Uitvoer
b is greater 

Uitleg: Hiermee wordt gecontroleerd of a groter is dan b. Als dit waar is, wordt afgedrukt 'a is groter'; anders wordt afgedrukt 'b is groter'.

Beperkingen van de Python Ternary-operator

Hoewel de ternaire operator beknopt is, moet deze met voorzichtigheid worden gebruikt:

  • Het kan de leesbaarheid verminderen als het te veel wordt gebruikt of in complexe omstandigheden wordt gebruikt.
  • Het is beperkt tot eenvoudige uitdrukkingen van één regel.