In Python , bepaalt de Ternaire Operator of een voorwaarde waar of onwaar is en retourneert vervolgens de juiste waarde als resultaat. De ternaire operator is handig in gevallen waarin we een waarde aan een variabele moeten toekennen op basis van een eenvoudige voorwaarde, en we onze code beknopter willen houden - alles in slechts één regel code.
Dit is handig als we willen voorkomen dat we meerdere regels schrijven voor een eenvoudige if-else voorwaarde. Net als in het eenvoudige if-else is de eerste optie, de echte waarde wordt uitgevoerd als de voorwaarde in de expressie True is. Als de voorwaarde False retourneert, dan valse_waarde zal worden uitgevoerd.
Syntax: true_value if condition else false_value>
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
- Python Ternair als anders
- 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
- Beperkingen van de Python Ternary-operator
Python Ternair als anders
De eenvoudigste manier om een ternaire Python-operator te gebruiken is wanneer we een eenvoudige als anders voorwaarde , dat wil zeggen dat een van de twee voorwaarden waar is en de andere onwaar.
if else-verklaring java
Voorbeeld: In deze code zullen we het minimumaantal van de gegeven twee getallen vergelijken en vinden met behulp van de ternaire operators in Python en het resultaat opslaan in een variabelenaam ‘min’. Als ' A ‘ is minimaal, de waarde van ‘ A ‘ wordt afgedrukt, anders de waarde van ‘ B ‘ wordt afgedrukt.
Python # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>
Uitgang:
kern Java
a is minimum>
Ternaire operator in genest If else
De ternaire operator kan ook worden gebruikt Python geneste if-else-instructie . de syntaxis hiervoor is als volgt:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Voorbeeld: In dit voorbeeld gebruiken we een geneste if-else om een ternaire operator te demonstreren. Als ' A' En ' B ‘ gelijk zijn, dan printen we ‘a en b zijn gelijk’ en anders, als ‘a’ groter is dan ‘b’, dan printen we ‘a is groter dan b’, anders is ‘b groter dan a’.
Python # Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b anders is 'b groter')>
Uitgang:
b is greater>
Ternaire operator met behulp van Python Tuple
De ternaire operator kan ook worden geschreven met behulp van Python-tupels . In dit geval declareren we de waarden False en True binnen een tuple op respectievelijk index 0 en 1. Op basis van de voorwaarde: als het resultaat False is, dat wil zeggen 0, wordt de waarde op index 0 uitgevoerd. Als de voorwaarde resulteert in True, wordt de waarde op index 1 van het tupel uitgevoerd.
Syntax: (false_value, true_value) [condition]>
Voorbeeld: In dit voorbeeld zullen we de minimumwaarde vergelijken en afdrukken, waarbij de uit te voeren waarden binnen de tupel worden gedeclareerd.
str.replace in JavaPython
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>
Uitgang:
a is minimum>
Ternaire operator met behulp van Python Dictionary
De ternaire Python-operator kan ook worden geschreven met behulp van Python-woordenboek . In dit geval gebruiken we de trefwoorden True en False als woordenboeksleutels en voorzien we deze van een waarde die moet worden uitgevoerd op basis van het resultaat van de voorwaarde.
Syntax: (True: true_value, False: false_value) [condition]>
Voorbeeld: In dit voorbeeld gebruiken we Dictionary om de ternaire operator te demonstreren, waarbij we True en False waarden hebben gegeven aan woordenboeksleutels, die zullen worden uitgevoerd op basis van het resultaat van de voorwaarde.
Python # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>
Uitgang:
a is minimum>
Ternaire operator met Python Lambda
In Python, lambda-functies worden gebruikt als we slechts één uitdrukking hebben om te evalueren. Daarom maakt het gebruik van de teranery-operator met lambda het vrij eenvoudig en gemakkelijk. Het werkt precies zoals de tupel. Dat wil zeggen dat we de waarden False en True declareren bij respectievelijk index 0 en 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Voorbeeld: In dit voorbeeld gebruiken we Lambda om de ternaire operator te demonstreren. We gebruiken tuple voor het selecteren van een item en als [a
Python # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Uitgang:
logica van de eerste orde
a is minimum>
Ternaire operator met printfunctie
De ternaire operator kan ook rechtstreeks worden gebruikt met de Python-afdrukverklaring . De syntaxis is als volgt:
Syntax: print(true_value) if (condition) print(false_value)>
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 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Uitgang:
10 is minimum>
Beperkingen van de Python Ternary-operator
De ternaire Python-operator wordt gebruikt om beknopte voorwaardelijke instructies te schrijven, maar deze heeft ook enkele beperkingen.
- Leesbaarheid: T De ernary-operator kan eenvoudige voorwaardelijke expressies beknopter maken, maar kan ook de leesbaarheid van uw code verminderen, vooral als de voorwaarde en de expressies complex zijn.
- Potentieel voor fouten : Onjuiste plaatsing van haakjes, ontbrekende dubbele punten of een onjuiste volgorde van uitdrukkingen kunnen leiden tot syntaxisfouten die mogelijk moeilijker te herkennen zijn.
- Foutopsporing : Bij het debuggen kan het moeilijker zijn om de waarden te inspecteren van variabelen die betrokken zijn bij een complexe ternaire expressie.
- Onderhoud en uitbreidbaarheid : Complexe ternaire expressies kunnen moeilijker te onderhouden en uit te breiden zijn, vooral wanneer de codebase groeit.
- Kan geen toewijzingsinstructies gebruiken: Elke operand van de ternaire Python-operator is een uitdrukking , geen verklaring, dat betekent dat we in geen enkele opdracht opdrachtverklaringen kunnen gebruiken. Anders geeft het programma een foutmelding.
Voorbeeld:
Python 3 if True else x=6>
Uitgang:
xor cpp
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>