I Pytonorm , bestämmer ternär operatör om ett villkor är sant eller falskt och returnerar sedan lämpligt värde som resultat. Den ternära operatorn är användbar i fall där vi behöver tilldela ett värde till en variabel baserat på ett enkelt villkor, och vi vill hålla vår kod mer kortfattad - allt på bara en rad kod.
Det är praktiskt när vi vill undvika att skriva flera rader för ett enkelt om-annat-villkor. Som i enkla if-else, det första alternativet, den sant_värde kommer att köras när villkoret i uttrycket är sant. Om villkoret returnerar False, då false_value kommer att verkställas.
Syntax: true_value if condition else false_value>
Den ternära operatorn kan användas på olika sätt. Låt oss se några olika exempel för att använda ternära operatörer i Python:
Innehållsförteckning
- Python ternary om annat
- Ternär operatör i Nested If else
- Ternär operatör som använder Python Tuple
- Ternär operatör som använder Python Dictionary
- Ternär operatör som använder Python Lambda
- Ternär operatör med utskriftsfunktion
- Begränsningar för Python Ternary Operator
Python ternary om annat
Det enklaste sättet att använda en Python ternär operator är när vi har en enkel om annat tillstånd , det vill säga något av de två villkoren är sant och det andra är falskt.
lista på java
Exempel: I den här koden kommer vi att jämföra och hitta minimitalet från de givna två talen med hjälp av de ternära operatorerna i Python och lagra resultatet i ett variabelnamn 'min'. Om ' a ' är minimum, värdet på ' a ' kommer att skrivas ut, annars värdet på ' b ' kommer att skrivas ut.
Pytonorm # 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)>
Produktion:
läsa från csv java
a is minimum>
Ternär operatör i Nested If else
Den ternära operatorn kan också användas i Python kapslade if-else-sats . syntaxen för detsamma är följande:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Exempel: I det här exemplet använder vi en kapslad if-else för att visa den ternära operatorn. Om ' a' och ' b ' är lika så kommer vi att skriva ut 'a och b är lika' och annars om 'a' är större än 'b' så kommer vi att skriva ut 'a är större än b' annars är 'b större än a'.
Pytonorm # 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 annars 'b är större')>
Produktion:
b is greater>
Ternär operatör som använder Python Tuple
Den ternära operatorn kan också skrivas med hjälp av Python-tuplar . I det här fallet deklarerar vi de falska och sanna värdena i en tupel vid index 0 respektive 1. Baserat på villkoret, om resultatet är False, det vill säga 0, exekveras värdet vid index 0. Om villkoret resulterar i True, exekveras värdet vid index 1 för tupeln.
Syntax: (false_value, true_value) [condition]>
Exempel: I det här exemplet kommer vi att jämföra och skriva ut minimivärdet, där värdena som ska köras deklareras inuti tupeln.
vårens molnPytonorm
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>
Produktion:
a is minimum>
Ternär operatör som använder Python Dictionary
Den ternära Python-operatorn kan också skrivas med hjälp av Python ordbok . I det här fallet använder vi sanna och falska nyckelord som ordboksnycklar och ger dem ett värde som ska exekveras baserat på villkorets resultat.
Syntax: (True: true_value, False: false_value) [condition]>
Exempel: I det här exemplet använder vi Dictionary för att demonstrera en ternär operator, där vi har gett ett sant och ett falskt värde till ordboksnycklar, som kommer att exekveras baserat på villkorets resultat.
Pytonorm # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>
Produktion:
a is minimum>
Ternär operatör som använder Python Lambda
I Python, lambdafunktioner används när vi bara har ett uttryck att utvärdera. Att använda teranery-operatören med lambda gör det därför ganska enkelt och lätt. Det fungerar precis som tuppeln. Det vill säga att vi deklarerar värdet False och True vid index 0 respektive 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Exempel: I det här exemplet använder vi Lambda för att visa en ternär operator. Vi använder tuple för att välja ett objekt och om [a
Pytonorm # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Produktion:
.06 som en bråkdel
a is minimum>
Ternär operatör med utskriftsfunktion
Den ternära operatorn kan också användas direkt med Python print uttalande . Dess syntax är följande:
Syntax: print(true_value) if (condition) print(false_value)>
Exempel: I det här exemplet hittar vi minimitalet bland två nummer med Python ternär operator med utskriftssats.
Pytonorm a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Produktion:
10 is minimum>
Begränsningar för Python Ternary Operator
Python ternär operator används för att skriva kortfattade villkorliga uttalanden men den har också vissa begränsningar.
- Läsbarhet: T ernaär operator kan göra enkla villkorliga uttryck mer koncisa, den kan också minska läsbarheten för din kod, speciellt om villkoret och uttrycken är komplexa.
- Potentiell för fel : Felaktig placering av parenteser, saknade kolon eller felaktig ordning av uttryck kan leda till syntaxfel som kan vara svårare att upptäcka.
- Felsökning : Vid felsökning kan det vara svårare att inspektera värdena för variabler som är involverade i ett komplext ternärt uttryck.
- Underhåll och utbyggbarhet : Komplexa ternära uttryck kan bli svårare att underhålla och utöka, särskilt när kodbasen växer.
- Kan inte använda uppdragsutlåtanden: Varje operand för Python-ternära operatorn är en uttryck , inte ett uttalande, det betyder att vi inte kan använda uppdragssatser i någon av dem. Annars kommer programmet att ge ett fel.
Exempel:
Pytonorm 3 if True else x=6>
Produktion:
avkoda base64 javascript
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>