Ternarni operater u Pythonu

Ternarni operator u Pythonu omogućava nam da izvršimo uvjetne provjere i dodijelimo vrijednosti ili obavljamo operacije u jednom retku. Poznat je i kao uvjetni izraz jer procjenjuje uvjet i vraća jednu vrijednost ako je uvjet istinit, a drugi ako je lažan.

Osnovni primjer ternarnog operatera

Najjednostavniji način korištenja Python Ternary operatera je kada imamo jednostavno Ako je drugo uvjet - Bilo koji od dva uvjeta je istinit, a drugi je lažan.

Započnimo s jednostavnim primjerom kako bismo utvrdili je li broj ravnomjerni ili neobičan:

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

Izlaz
Odd  

Ternarni operater može se koristiti na različite načine. Pogledajmo nekoliko različitih primjera za korištenje ternarnih operatera u Pythonu:

Tablica sadržaja

Ternarni operater u ugniježđenom ako drugo

Ternarni operater također se može koristiti u Izjava Python ugniježđene if-else . Možemo gnijezditi ternarne operatere kako bismo procijenili više uvjeta u jednom liniji.

Sintaksa: value_if_true ako je uvjet else valuif_false

Primjer:

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

Izlaz
Negative  

Obrazloženje:

  • Prvo provjerava je li broj> 0. Ako je istina, vraća se 'pozitivno'.
  • Ako je lažno, provjerava je li num < 0. If True it returns 'Negative'.
  • Ako oba uvjeta ne uspiju, zadano je da se "nula".

Ternarni operater pomoću tuplea

Ternarni operater može se napisati i pomoću Python tuples . Metoda indeksiranja tuple -a alternativa je ternarnom operatoru.

Sintaksa: (condition_is_false condition_is_true) [uvjet]

Primjer:

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

Izlaz
Odd  

Obrazloženje:

  • Stanje NUM % 2 == 0 ocjenjuje se na lažno (indeks 0), tako da odabire 'neobično'.

Ternarni operater pomoću rječnika

A rječnik Može se koristiti za mapiranje uvjeta na vrijednosti koje pružaju način korištenja ternarnog operatora s složenijim uvjetima.

Sintaksa: condition_dict = {true: value_if_true false: value_false}

Primjer:

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

Izlaz
20  

Obrazloženje: Ovo koristi rječnik u kojem je ključ istinit ili lažan na temelju uvjeta A> b. Tada je odabrana odgovarajuća vrijednost (A ili B).

Ternarni operater pomoću Python Lambda

Lambdas Može se koristiti zajedno s ternarnim operatorom za inline uvjetnu logiku.

Sintaksa: lambda x: value_if_true ako je uvjet else value_if_false

Primjer:

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

Izlaz
20  

Obrazloženje: Ovo definira anonimnu funkciju (Lambda) koja uzima dva argumenta i vraća veću pomoću ternarnog operatera. Tada se naziva s a i b.

Ternarni operater s funkcijom ispisa

Ternarni operater također se može izravno koristiti s Izjava Python Print . Njegova sintaksa slijedi:

Sintaksa: ispis (value_if_true ako je uvjet else value_false)

Primjer: U ovom primjeru nalazimo minimalni broj među dva broja koristeći Python Ternary operator s izjavom za ispis.

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

Izlaz
b is greater  

Obrazloženje: To provjerava je li A veći od b. Ako je istina, ispisuje 'A je veća'; Inače ispisuje 'B je veća'.

Ograničenja Python Ternary operatera

Dok je ternarni operater sažet, trebao bi ga koristiti s oprezom:

  • Može umanjiti čitljivost ako se pretjerano koristi ili koristi u složenim uvjetima.
  • Ograničen je na jednostavne jedno-linijske izraze.