logo

Operator tern în Python

Operatorul ternar din Python ne permite să efectuăm verificări condiționate și să atribuim valori sau să efectuăm operații pe o singură linie. Este, de asemenea, cunoscută ca o expresie condiționată, deoarece evaluează o condiție și returnează o valoare dacă condiția este adevărată și alta dacă este falsă.

Exemplu de bază de operator ternar

Cel mai simplu mod de a utiliza un operator ternar Python este atunci când avem un simplu Dacă altfel condiție - Oricare dintre cele două condiții este adevărată, iar cealaltă este falsă.



Să începem cu un exemplu simplu pentru a determina dacă un număr este egal sau ciudat:

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

Ieșire
Odd 

Operatorul ternar poate fi utilizat în diverse moduri. Să vedem câteva exemple diferite pentru a utiliza operatori ternari în Python:

Tabel de conținut



Operator ternar în cuibărit, dacă altfel

Operatorul ternar poate fi de asemenea utilizat în Python a cuibărit declarația IF-ELSE . Putem să cuibăresc operatori ternari pentru a evalua mai multe condiții într -o singură linie.

Sintaxă: value_if_true dacă condiția altfel valoarea_if_false

valoarea java a șirului

Exemplu:



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

Ieșire
Negative 

Explicaţie:

  • Mai întâi verifică dacă num> 0. Dacă adevărat se întoarce „pozitiv”.
  • Dacă este fals, verifică dacă numără< 0. If True it returns 'Negative'.
  • Dacă ambele condiții nu reușesc să fie implicit la „zero”.

Operator ternar folosind tuple

Operatorul ternar poate fi scris și folosind Tupluri Python . Metoda de indexare a tuple este o alternativă la operatorul ternar.

Sintaxă: (condiție_is_false condiție_is_true) [condiție]

Exemplu:

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

Ieșire
Odd 

Explicaţie:

  • Condiția num % 2 == 0 evaluează la false (index 0), astfel încât selectează „ciudat”.

Operator ternar folosind dicționar

O dicţionar Poate fi utilizat pentru a mapa condițiile pentru valorile care oferă o modalitate de a utiliza un operator ternar cu condiții mai complexe.

Sintaxă: condiție_dict = {true: value_if_true false: value_if_false}

Exemplu:

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

Ieșire
20 

Explicaţie: Aceasta folosește un dicționar în care cheia este adevărată sau falsă pe baza condiției a> b. Valoarea corespunzătoare (A sau B) este apoi selectată.

Operator ternar folosind Python Lambda

Lambdas poate fi utilizat împreună cu operatorul ternar pentru logica condiționată inline.

Sintaxă: lambda x: value_if_true dacă starea altfel valori_if_false

Exemplu:

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

Ieșire
20 

Explicaţie: Aceasta definește o funcție anonimă (lambda) care ia două argumente și returnează cea mai mare folosind operatorul ternar. Se numește apoi cu A și B.

Operator ternar cu funcție de imprimare

Operatorul ternar poate fi, de asemenea, utilizat direct cu Declarație de imprimare Python . Sintaxa sa este A S:

Sintaxă: imprimare (value_if_true dacă condiție altfel valoare_if_false)

Exemplu: În acest exemplu, găsim numărul minim printre două numere folosind operatorul ternar Python cu instrucțiune de imprimare.

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

Ieșire
b is greater 

Explicaţie: Aceasta verifică dacă A este mai mare decât b. Dacă adevărat, imprimă „a este mai mare”; În caz contrar, imprimă „B este mai mare”.

diferența dintre $ și $$

Limitări ale operatorului ternar Python

În timp ce operatorul ternar este concis, ar trebui să fie utilizat cu precauție:

  • Poate reduce lizibilitatea dacă este suprautilizat sau utilizat în condiții complexe.
  • Este limitat la expresii simple de o singură linie.