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:
Pythonn = 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
- Operator ternar folosind python tuple
- Operator ternar folosind dicționarul Python
- Operator ternar folosind Python Lambda
- Operator ternar cu funcție de imprimare
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:
Pythonn = 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:
Pythona = 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:
Pythona = 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.
Pythona = 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.