Ternær operatør i Python
Den ternære operatør i Python giver os mulighed for at udføre betingede kontroller og tildele værdier eller udføre operationer på en enkelt linje. Det er også kendt som et betinget udtryk, fordi det evaluerer en tilstand og returnerer en værdi, hvis tilstanden er sand, og en anden, hvis den er falsk.
Grundlæggende eksempel på ternær operatør
Den enkleste måde at bruge en Python ternary operatør er, når vi har en enkel hvis ellers tilstand - En af de to betingelser er sandt, og den anden er falsk.
Lad os starte med et simpelt eksempel for at afgøre, om et tal er jævnt eller underligt:
Python n = 5 res = 'Even' if n % 2 == 0 else 'Odd' print ( res )
Produktion
Odd
Den ternære operatør kan bruges på forskellige måder. Lad os se et par forskellige eksempler for at bruge ternære operatører i Python:
Indholdstabel
- Ternær operatør i indlejret, hvis ellers
- Ternary operatør ved hjælp af Python Tuple
- Ternary operatør ved hjælp af Python Dictionary
- Ternary operatør ved hjælp af Python Lambda
- Ternary operatør med udskrivningsfunktion
Ternær operatør i indlejret, hvis ellers
Den ternære operatør kan også bruges i Python indlejrede If-Else-erklæring . Vi kan hekke ternære operatører for at evaluere flere betingelser i en enkelt linje.
Syntaks: Value_if_true hvis tilstand ellers værdi_if_false
Eksempel:
Python n = - 5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print ( res )
Produktion
Negative
Forklaring:
- Først kontrollerer det, om Num> 0. Hvis det er sandt, returnerer det 'positivt'.
- Hvis falsk, kontrollerer det, om NUM < 0. If True it returns 'Negative'.
- Hvis begge betingelser mislykkes, misligholder det sig til 'nul'.
Ternær operatør ved hjælp af tuple
Den ternære operatør kan også skrives ved at bruge Python tuples . Tuple -indekseringsmetoden er et alternativ til den ternære operatør.
Syntaks: (Condition_is_False Condition_is_True) [Betingelse]
Eksempel:
Python n = 7 res = ( 'Odd' 'Even' )[ n % 2 == 0 ] print ( res )
Produktion
Odd
Forklaring:
- Betingelsen Num % 2 == 0 evalueres til falsk (indeks 0), så det vælger 'ulige'.
Ternær operatør ved hjælp af ordbog
EN ordbog Kan bruges til at kortlægge betingelser til værdier, der giver en måde at bruge en ternær operatør med mere komplekse forhold.
Syntaks: condition_dict = {sandt: value_if_true falsk: Value_if_false}
Eksempel:
Python a = 10 b = 20 max = { True : a False : b }[ a > b ] print ( max )
Produktion
20
Forklaring: Dette bruger en ordbog, hvor nøglen er sand eller falsk baseret på betingelsen a> b. Den tilsvarende værdi (A eller B) vælges derefter.
Ternary operatør ved hjælp af Python Lambda
Lambdas Kan bruges sammen med den ternære operatør til inline betinget logik.
Syntaks: Lambda x: Value_if_True If Condition Ovent Value_if_False
Eksempel:
Python a = 10 b = 20 max = ( lambda x y : x if x > y else y )( a b ) print ( max )
Produktion
20
Forklaring: Dette definerer en anonym funktion (Lambda), der tager to argumenter og returnerer den større ved hjælp af den ternære operatør. Det kaldes derefter med A og B.
Ternary operatør med udskrivningsfunktion
Den ternære operatør kan også bruges direkte med Python Print -erklæring . Dens syntaks er en S følger:
Syntaks: Print (Value_if_True If Condition Alles Value_if_False)
Eksempel: I dette eksempel finder vi det mindste antal blandt to numre ved hjælp af Python ternær operatør med udskrivning af udskrivning.
Python a = 10 b = 20 print ( 'a is greater' if a > b else 'b is greater' )
Produktion
b is greater
Forklaring: Dette kontrollerer, om A er større end b. Hvis det er sandt, at det udskriver 'a er større'; Ellers er den udskrivning af B en større '.
Begrænsninger af Python ternær operatør
Mens den ternære operatør er kort, skal den bruges med forsigtighed:
- Det kan reducere læsbarheden, hvis det er overbrugt eller brugt under komplekse forhold.
- Det er begrænset til enkle enkeltlinjesudtryk.