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:
Pythonn = 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
niz i podniz
- 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:
nullpointerexception
- 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:
lik.usporedi javaPython
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:
Pythona = 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.
bash čita datoteku
Sintaksa: lambda x: value_if_true ako je uvjet else value_if_false
Primjer:
Pythona = 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.
numpy točkaPython
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.