Ternárny operátor v Pythone

Ternárny operátor v Pythone nám umožňuje vykonávať podmienečné kontroly a priradiť hodnoty alebo vykonávať operácie na jednom riadku. Je tiež známy ako podmienený výraz, pretože hodnotí stav a vracia jednu hodnotu, ak je podmienka pravdivá a iná, ak je nepravdivá.

Základný príklad ternárneho operátora

Najjednoduchší spôsob, ako použiť ternárny operátor Python, je, keď máme jednoduchý Ak inak podmienka - jedna z týchto dvoch podmienok je pravdivá a druhá je nepravdivá.

Začnime jednoduchým príkladom, aby sme zistili, či je číslo párne alebo nepárne:

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

Výstup
Odd  

Ternárny operátor je možné použiť rôznymi spôsobmi. Pozrime sa na niekoľko rôznych príkladov na použitie ternárnych operátorov v Pythone:

Tabuľka obsahu

Ternárny operátor v hniezdení, ak inde

Ternárny operátor môže byť tiež použitý v Python vnorené vyhlásenie If-Else . Môžeme hniezdiť ternárnych operátorov, aby sme vyhodnotili viac podmienok v jednej línii.

Syntax: value_if_true, ak je podmienka inak value_if_false

Príklad:

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

Výstup
Negative  

Vysvetlenie:

  • Najprv skontroluje, či num> 0. Ak true vráti „kladné“.
  • Ak false to kontroluje, ak NUM < 0. If True it returns 'Negative'.
  • Ak obe podmienky zlyhajú, predvolene na „nula“.

Ternárny operátor pomocou Tuple

Ternárny operátor je možné napísať aj pomocou použitia Python . Metóda indexovania Tuple je alternatívou k ternárnym operátorom.

Syntax: (Condition_is_false Condition_is_true) [stav]

Príklad:

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

Výstup
Odd  

Vysvetlenie:

  • Podmienka num % 2 == 0 vyhodnotí na false (index 0), takže vyberie „nepárne“.

Ternárny operátor používajúci slovník

A slovník Môže sa použiť na mapovanie podmienok na hodnoty poskytujúce spôsob, ako používať ternárny operátor s zložitejšími podmienkami.

Syntax: condition_dict = {true: value_if_true false: value_if_false}

Príklad:

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

Výstup
20  

Vysvetlenie: Používa sa slovník, v ktorom je kľúč pravdivý alebo nepravdivý na základe podmienky A> b. Potom sa vyberie zodpovedajúca hodnota (A alebo B).

Ternárny operátor s použitím Python Lambda

Lambdas Môže byť použitý v spojení s ternárnym operátorom pre inline podmienenú logiku.

Syntax: lambda x: value_if_true, ak je podmienka else value_if_false

Príklad:

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

Výstup
20  

Vysvetlenie: Toto definuje anonymnú funkciu (LAMBDA), ktorá berie dva argumenty a vracia väčšiu pomocou ternárneho operátora. Potom sa volá s a a b.

Ternárny operátor s tlačovou funkciou

Ternárny operátor môže byť tiež priamo použitý s Vyhlásenie o tlačení Python . Jeho syntax je nasledovaná:

Syntax: tlač (value_if_true, ak je podmienka inak value_if_false)

Príklad: V tomto príklade nachádzame minimálne číslo medzi dvoma číslami pomocou operátora Python Ternár s výpisom.

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

Výstup
b is greater  

Vysvetlenie: To kontroluje, či je a je väčšia ako b. Ak je to pravda, tlačí „a je väčší“; V opačnom prípade vytlačí „B je väčší“.

Obmedzenia ternárneho operátora Python

Zatiaľ čo ternárny operátor je stručný, mal by sa používať opatrne:

  • Ak je nadmerne používaná alebo použitá v zložitých podmienkach, môže znížiť čitateľnosť.
  • Je obmedzená na jednoduché jednoriadkové výrazy.