Den ternära operatören i Python tillåter oss att utföra villkorade kontroller och tilldela värden eller utföra operationer på en enda rad. Det är också känt som ett villkorat uttryck eftersom det utvärderar ett tillstånd och returnerar ett värde om villkoret är sant och ett annat om det är falskt.
Grundläggande exempel på ternär operatör
Det enklaste sättet att använda en Python ternär operatör är när vi har en enkel Om annat villkor - Endera av de två förhållandena är sanna och den andra är falsk.
Låt oss börja med ett enkelt exempel för att avgöra om ett nummer är jämnt eller udda:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Produktion
Odd
Den ternära operatören 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ållsbord
- Ternär operatör i kapslad om annars
- 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 tryckfunktion
Ternär operatör i kapslad om annars
Den ternära operatören kan också användas i Python kapslat if-annon uttalande . Vi kan bo ternära operatörer för att utvärdera flera villkor i en enda rad.
Syntax: värde_if_true om villkor annars värde_if_false
java matematik klass
Exempel:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Produktion
Negative
Förklaring:
- Först kontrollerar det om num> 0. Om det är sant returnerar det "positivt".
- Om falskt kontrollerar det om num< 0. If True it returns 'Negative'.
- Om båda villkoren misslyckas är det inte att "noll".
Ternär operatör med tuple
Den ternära operatören kan också skrivas med Python tuples . Tupelindexeringsmetoden är ett alternativ till den ternära operatören.
lokaldatum
Syntax: (Condition_is_false Condition_is_true) [Condition]
Exempel:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Produktion
Odd
Förklaring:
- Villkoret num % 2 == 0 utvärderar till falskt (index 0) så det väljer "udda".
Ternär operatör som använder ordbok
En ordbok kan användas för att kartlägga förhållanden till värden som ger ett sätt att använda en ternär operatör med mer komplexa förhållanden.
Syntax: condition_dict = {true: value_if_true falskt: värde_if_false}
Exempel:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Produktion
20
Förklaring: Detta använder en ordbok där nyckeln är sant eller falsk baserat på villkoret a> b. Motsvarande värde (A eller B) väljs sedan.
Ternär operatör som använder Python Lambda
Lambdas kan användas i samband med den ternära operatören för inline villkorad logik.
Syntax: lambda x: value_if_true om villkor annars värde_if_false
Exempel:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Produktion
20
Förklaring: Detta definierar en anonym funktion (Lambda) som tar två argument och returnerar den större med den ternära operatören. Det kallas sedan med A och B.
Ternär operatör med tryckfunktion
Den ternära operatören kan också direkt användas med Python Print Statement . Dess syntax är en S följer:
för loopar java
Syntax: utskrift (värde_if_true om villkor annars värde_if_false)
Exempel: I det här exemplet hittar vi det minsta antalet bland två nummer med Python Ternary Operator med utskriftsförklaring.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Produktion
b is greater
Förklaring: Detta kontrollerar om A är större än B. Om sant skriver det "A är större"; Annars skriver det ut 'B är större'.
Begränsningar av Python Ternary Operator
Medan den ternära operatören är kortfattad bör den användas med försiktighet:
- Det kan minska läsbarheten om överanvändning eller används under komplexa förhållanden.
- Det är begränsat till enkla enstaka uttryck.