Operatore condizionale ternario in Python

Syed Moiz Haider 30 gennaio 2023
  1. Usa l’operatore ternario in Python 2.5 e versioni successive
  2. L’operatore ternario in Python usando tupla
  3. L’operatore ternario che utilizza lambda per le versioni precedenti alla 2.5 in Python
Operatore condizionale ternario 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 Haider avatar Syed Moiz Haider avatar

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

Articolo correlato - Python Operator