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

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.