logo

Ternarni operater v Pythonu

Ternarni operater v Pythonu nam omogoča, da izvajamo pogojne preglede in dodelimo vrednosti ali izvajamo operacije v eni vrstici. Znan je tudi kot pogojni izraz, ker ocenjuje stanje in vrne eno vrednost, če je stanje resničen, drugo pa, če je napačen.

Osnovni primer Ternary operaterja

Najpreprostejši način uporabe Ternary operaterja Python je, ko imamo preprost Če drug pogoj - Vsak od obeh pogojev je resničen, drugi pa napačen.



Začnimo s preprostim primerom, da ugotovimo, ali je številka enakomerna ali neparna:

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

Izhod
Odd 

Ternarni operater se lahko uporablja na različne načine. Oglejmo si nekaj različnih primerov, ki jih bomo uporabili v Pythonu:

Tabela vsebine



vlc za prenos youtube

Ternarni operater v gnezdenem, če si

Ternarni operater se lahko uporablja tudi v Python ugnezdena izjava, če je Else . Ternarne operaterje lahko gnezdimo, da ocenimo več pogojev v eni vrstici.

Sintaksa: VALUE_IF_TRUE, če stanje Else Else_if_false

Primer:



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

Izhod
Negative 

Pojasnilo:

matrični seznam java
  • Najprej preveri, ali je num> 0. Če je res, se vrne "pozitivno".
  • Če false preveri, če je št.< 0. If True it returns 'Negative'.
  • Če oba pogoja ne uspeta privzeti 'nič'.

Ternarni operater, ki uporablja Tuple

Ternarni operater lahko zapišete tudi z uporabo Python Tuples . Metoda indeksiranja tuple je alternativa Ternary operaterju.

Sintaksa: (Condition_is_false Condition_is_true) [pogoj]

Primer:

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

Izhod
Odd 

Pojasnilo:

  • Pogoj Num % 2 == 0 ocenjuje na false (indeks 0), tako da izbere "Odd".

Ternarni operater, ki uporablja slovar

A Slovar Lahko se uporablja za preslikavo pogojev na vrednosti, ki zagotavljajo način uporabe Ternarnega operaterja s kompleksnejšimi pogoji.

Sintaksa: commote_dict = {true: vrednost_if_true false: vrednost_if_false}

Primer:

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

Izhod
20 

Pojasnilo: Ta uporablja slovar, kjer je ključ resničen ali napačen glede na stanje a> b. Nato se izbere ustrezna vrednost (A ali B).

Ternarni operater, ki uporablja Python Lambda

Lambdas Lahko se uporablja v povezavi s Ternarnim operaterjem za vgrajeno pogojno logiko.

c naključno število

Sintaksa: Lambda x: vrednost_if_true, če sta pogoj drugo vrednost_if_false

Primer:

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

Izhod
20 

Pojasnilo: To opredeljuje anonimno funkcijo (Lambda), ki sprejme dva argumenta in vrne večjo s pomočjo Ternarnega operaterja. Nato se imenuje z a in b.

int niz

Ternarni operater s funkcijo tiskanja

Ternarni operater se lahko neposredno uporablja tudi z Izjava o tiskanju Python . Njegova sintaksa je S Sledilo:

Sintaksa: natisni (vrednost_if_true, če sta pogoj drugje vrednost_if_false)

Primer: V tem primeru najdemo minimalno število med dvema številkama z uporabo Python Ternary operaterja z izjavo o tiskanju.

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

Izhod
b is greater 

Pojasnilo: To preverja, ali je a večji od b. Če je res, natisne 'a je večji'; v nasprotnem primeru natisne 'b je večje'.

Omejitve Python Ternary operaterja

Medtem ko je Ternary operater jedrnat, ga je treba uporabljati previdno:

  • Lahko zmanjša berljivost, če je preveč uporabljena ali uporabljena v zapletenih pogojih.
  • Omejen je na preproste enovrstne izraze.