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:
Pythonn = 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, ki uporablja Python Tuple
- Ternarni operater, ki uporablja slovar Python
- Ternarni operater, ki uporablja Python Lambda
- Ternarni operater s funkcijo tiskanja
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 JaviPython
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:
Pythona = 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:
Pythona = 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.
Pythona = 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.