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

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

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.