În Piton , Operatorul ternar determină dacă o condiție este adevărată sau falsă și apoi returnează valoarea corespunzătoare ca rezultat. Operatorul ternar este util în cazurile în care trebuie să atribuim o valoare unei variabile pe baza unei condiții simple și dorim să ne păstrăm codul mai concis - totul într-o singură linie de cod.
Este convenabil atunci când dorim să evităm să scriem mai multe rânduri pentru o condiție simplă dacă altfel. Ca și în simplu dacă-altfel, prima opțiune, the valoare adevarata va fi executat atunci când condiția furnizată în expresie este True. Dacă condiția returnează False, atunci false_value va fi executat.
Syntax: true_value if condition else false_value>
Operatorul ternar poate fi utilizat în diferite moduri. Să vedem câteva exemple diferite de utilizare a operatorilor ternari în Python:
arraylist sortată
Cuprins
- Python Ternar Dacă Altceva
- Operator ternar în Imbricat If else
- Operator ternar folosind Python Tuple
- Ternary Operator folosind dicționar Python
- Operator ternar care utilizează Python Lambda
- Operator ternar cu funcție de imprimare
- Limitări ale operatorului ternar Python
Python Ternar Dacă Altceva
Cel mai simplu mod de a folosi un operator ternar Python este atunci când avem un simplu dacă altfel condiție , adică oricare dintre cele două condiții este adevărată, iar cealaltă este falsă.
Exemplu: În acest cod vom compara și găsi numărul minim din cele două numere date folosind Operatorii Ternari în Python și stocând rezultatul într-un nume de variabilă ‘min’. Dacă ' A „este minim, valoarea „ A „va fi tipărit, altfel valoarea „ b ‘ va fi tipărit.
Piton # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>
Ieșire:
a is minimum>
Operator ternar în Imbricat If else
Operatorul ternar poate fi folosit și în Instrucțiunea if-else imbricată Python . sintaxa pentru același lucru este următoarea:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Exemplu: În acest exemplu, folosim un imbricat if-else pentru a demonstra operatorul ternar. Dacă ' A' și ' b „sunt egali, atunci vom tipări „a și b sunt egali”, iar dacă „a” este mai mare decât „b”, atunci vom tipări „a este mai mare decât b” în caz contrar „b este mai mare decât a”.
Piton # Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b altfel 'b este mai mare')> Ieșire:
b is greater>
Operator ternar folosind Python Tuple
Operatorul ternar poate fi scris și folosind Tupluri Python . În acest caz, declarăm valorile False și True în interiorul unui tuplu la indexul 0 și respectiv 1. Pe baza condiției, dacă rezultatul este Fals, adică 0, valoarea la indicele 0 este executată. Dacă condiția are ca rezultat True, se execută valoarea de la indicele 1 al tuplului.
Syntax: (false_value, true_value) [condition]>
Exemplu: În acest exemplu, vom compara și tipări valoarea minimă, unde valorile care urmează să fie executate sunt declarate în interiorul tuplului.
Piton # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Ieșire:
a is minimum>
Ternary Operator folosind dicționar Python
Operatorul ternar Python poate fi scris și folosind Dicționar Python . În acest caz, folosim cuvinte cheie True și False ca chei de dicționar și le oferim o valoare care trebuie executată pe baza rezultatului condiției.
Syntax: (True: true_value, False: false_value) [condition]>
Exemplu: În acest exemplu, folosim Dicționar pentru a demonstra operatorul ternar, unde am dat valori True și False cheilor de dicționar, care vor fi executate pe baza rezultatului condiției.
aliniați imaginea cu cssPiton
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])> Ieșire:
a is minimum>
Operator ternar care utilizează Python Lambda
În Python, funcții lambda sunt folosite atunci când avem o singură expresie de evaluat. Prin urmare, utilizarea operatorului teranery cu lambda îl face destul de simplu și ușor. Funcționează exact ca tuplu. Adică declarăm valorile Fals și True la indexul 0 și, respectiv, 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Exemplu: În acest exemplu, folosim Lambda pentru a demonstra operatorul ternar. Folosim tuplu pentru selectarea unui articol și dacă [a
Piton # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Ieșire:
a is minimum>
Operator ternar cu funcție de imprimare
Operatorul ternar poate fi, de asemenea, utilizat direct cu Declarație de imprimare Python . Sintaxa sa este următoarea:
Syntax: print(true_value) if (condition) print(false_value)>
Exemplu: În acest exemplu, găsim numărul minim dintre două numere folosind operatorul ternar Python cu instrucțiunea print.
Piton a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Ieșire:
10 is minimum>
Limitări ale operatorului ternar Python
Operatorul ternar Python este folosit pentru a scrie declarații condiționale concise, dar are și unele limitări.
- Lizibilitate: T Operatorul ernar poate face expresiile condiționale simple mai concise, de asemenea, poate reduce lizibilitatea codului dvs., mai ales dacă condiția și expresiile sunt complexe.
- Potenţial de eroare : plasarea incorectă a parantezelor, lipsa punctelor două puncte sau ordinea incorectă a expresiilor pot duce la erori de sintaxă care ar putea fi mai greu de identificat.
- Depanare : La depanare, ar putea fi mai greu să inspectați valorile variabilelor implicate într-o expresie ternară complexă.
- Întreținere și extensibilitate : Expresiile ternare complexe pot deveni mai greu de menținut și extins mai ales atunci când baza de cod crește.
- Nu pot folosi instrucțiunile de atribuire: Fiecare operand al operatorului ternar Python este an expresie , nu o declarație, asta înseamnă că nu putem folosi instrucțiuni de atribuire în niciuna dintre ele. În caz contrar, programul va arunca o eroare.
Exemplu:
Piton 3 if True else x=6>
Ieșire:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>