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:
Pythonn = 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
- Ternaire operator met behulp van Python Tuple
- Ternaire operator met behulp van Python Dictionary
- Ternaire operator met Python Lambda
- Ternaire operator met printfunctie
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:
Pythonn = 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:
Pythona = 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:
Pythona = 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.
Pythona = 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.