Operatore condizionale ternario in Python
- Usa l’operatore ternario in Python 2.5 e versioni successive
- L’operatore ternario in Python usando tupla
-
L’operatore ternario che utilizza
lambda
per le versioni precedenti alla 2.5 in Python
Questo tutorial definirà diversi metodi per utilizzare l’operatore ternario in Python. C’è un modo diverso di usare l’operatore ternario in Python rispetto ad altri linguaggi di programmazione. Esistono vari modi per utilizzare gli operatori ternari in base alla compatibilità con la versione Python. Il tutorial fornirà codici di esempio per spiegare come utilizzare l’operatore ternario in diverse versioni di Python.
Usa l’operatore ternario in Python 2.5 e versioni successive
L’operatore condizionale ternario è stato aggiunto in Python 2.5. L’operatore ternario è definito come l’operatore che accetta tre operandi. In questo metodo, prima viene valutata la condizione data, quindi uno dei valori viene valutato e inviato indietro in base all’operatore booleano. Prima prende l’espressione, quindi viene di nuovo la condizione, seguita dalla parte “altro” dell’espressione.
La sintassi dell’operatore ternario in Python è la seguente.
value_if if condition else value_else
Poiché l’operatore ternario valuta per primo la condition
, consente il cortocircuito e verrà valutata solo una delle due espressioni. Se condition
è vera, viene valutata la prima espressione value_if
altrimenti viene valutata la seconda espressione value_else
.
Il codice di esempio seguente mostra come utilizzare gli operatori ternari in Python.
a = 2
b = 0
1 if a > b else 0
Produzione:
1
L’output dell’operatore condizionale ternario può essere assegnato a una variabile, come mostrato nel codice di esempio riportato di seguito.
a = 2
b = 0
temp = a if a > b else b
print(temp)
Produzione:
2
L’operatore ternario in Python usando tupla
L’operatore ternario in Python può essere usato usando le tuple. Richiede le espressioni da valutare e un’istruzione condizionale booleana. L’espressione da restituire dipende dalla condizione booleana. Se la condizione è vera, viene restituito il primo valore e se l’espressione è falsa, viene restituito il secondo valore. Tuttavia, in ogni caso, questo metodo valuterà tutto anziché solo l’espressione vincente.
Di seguito viene fornito un codice di esempio per dimostrare come questo operatore ternario può essere utilizzato in Python utilizzando tuple.
a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)
Produzione:
21.5
L’operatore ternario che utilizza lambda
per le versioni precedenti alla 2.5 in Python
Per le versioni precedenti a Python 2.5, gli operatori ternari possono essere usati con lambda
. Questo metodo accetta i valori da restituire e un’espressione booleana. Questo metodo segue una tecnica di valutazione pigra in cui il processo di valutazione viene ritardato fino a quando non viene richiesto il suo valore. È un approccio migliore rispetto al metodo tuple in questo senso. L’espressione in questo metodo è data come (falseValue, trueValue)[Test]()
. Se la condizione del test è valutata come True
, verrà stampato trueValue
; in caso contrario, viene stampato falseValue
.
Di seguito viene fornito un codice di esempio per descrivere come l’operatore ternario può essere utilizzato con lambda
in Python.
val1, val2 = 12, 43
output = (lambda: val2, lambda: val1)[val1 > val2]()
print(output)
Produzione:
43
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn