Ternární operátor v Pythonu

Ternární operátor v Pythonu nám umožňuje provádět podmíněné kontroly a přiřadit hodnoty nebo provádět operace na jednom řádku. Je také známý jako podmíněný výraz, protože vyhodnocuje stav a vrací jednu hodnotu, pokud je podmínka pravdivá a druhá, pokud je nepravdivá.

Základní příklad ternárního operátora

Nejjednodušší způsob, jak používat Python ternární operátor, je, když máme jednoduchý Pokud jinde je podmínka - Jedna z těchto dvou podmínek je pravdivá a druhá je nepravdivá.

Začněme jednoduchým příkladem, abychom zjistili, zda je číslo rovnoměrné nebo zvláštní:

Python
   n   =   5   res   =   'Even'   if   n   %   2   ==   0   else   'Odd'   print  (  res  )   

Výstup
Odd  

Ternární operátor lze použít různými způsoby. Podívejme se na několik různých příkladů pro použití ternárních operátorů v Pythonu:

Obsah

Ternární operátor v vnoře

Ternární operátor lze také použít Python vnořen If-Else prohlášení . Můžeme hnízdit ternární operátory, abychom vyhodnotili více podmínek v jednom řádku.

Syntax: value_if_true, pokud podmínka else value_if_false

Příklad:

Python
   n   =   -  5   res   =   'Positive'   if   n   >   0   else   'Negative'   if   n    <   0   else   'Zero'   print  (  res  )   

Výstup
Negative  

Vysvětlení:

  • Nejprve zkontroluje, zda num> 0. Pokud je to pravda, vrací se „pozitivní“.
  • Pokud je nepravda, zkontroluje, zda Num < 0. If True it returns 'Negative'.
  • Pokud obě podmínky selže, výchozí nastaví na „nulu“.

Ternární operátor používající n -nůž

Ternární operátor lze také napsat pomocí Python -tice . Metoda indexování n -tice je alternativou k ternárnímu operátorovi.

Syntax: (Condition_is_False Condition_is_true) [podmínka]

Příklad:

Python
   n   =   7   res   =   (  'Odd'     'Even'  )[  n   %   2   ==   0  ]   print  (  res  )   

Výstup
Odd  

Vysvětlení:

  • Podmínka Num % 2 == 0 vyhodnocuje false (index 0), takže vybere „liché“.

Ternární operátor používající slovník

A slovník Lze použít k mapování podmínek na hodnoty poskytující způsob, jak používat ternární operátor se složitějšími podmínkami.

Syntax: Condition_dict = {true: value_if_true False: value_if_false}

Příklad:

Python
   a   =   10   b   =   20   max   =   {  True  :   a     False  :   b  }[  a   >   b  ]   print  (  max  )   

Výstup
20  

Vysvětlení: To používá slovník, kde je klíč pravdivý nebo nepravdivý na základě stavu a> b. Poté je vybrána odpovídající hodnota (A nebo B).

Ternární operátor používající Python Lambda

Lambdas Lze použít ve spojení s ternárním operátorem pro inline podmíněnou logiku.

Syntax: Lambda x: value_if_true, pokud podmínka else value_if_false

Příklad:

Python
   a   =   10   b   =   20   max   =   (  lambda   x     y  :   x   if   x   >   y   else   y  )(  a     b  )   print  (  max  )   

Výstup
20  

Vysvětlení: To definuje anonymní funkci (Lambda), která bere dva argumenty a vrací větší pomocí ternárního operátora. Poté se nazývá a a b.

Ternární operátor s funkcí tisku

Ternární operátor lze také přímo použít s Příkaz Python Print . Jeho syntaxe je S. sleduje:

Syntax: tisk (value_if_true, pokud podmínka else value_if_false)

Příklad: V tomto příkladu najdeme minimální číslo mezi dvěma čísly pomocí Python Ternary Operator s tiskovým příkazem.

Python
   a   =   10   b   =   20   print  (  'a is greater'   if   a   >   b   else   'b is greater'  )   

Výstup
b is greater  

Vysvětlení: To kontroluje, zda je A větší než b. Pokud je to pravda, vytiskne „A je větší“; Jinak tiskne „B je větší“.

Omezení ternárního operátora Pythonu

Zatímco ternární operátor je stručný, měl by být používán s opatrností:

  • Může snížit čitelnost, pokud je nadužívána nebo použita ve složitých podmínkách.
  • Je omezeno na jednoduché jednoslovské výrazy.