logo

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



niz i podniz

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 java
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.

bash čita datoteku

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.

numpy točka
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.