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 pomoću Python Tuple -a
- Ternarni operater pomoću Python rječnika
- Ternarni operater pomoću Python Lambda
- Ternarni operater s funkcijom ispisa
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.