L’operatore ternario di altri linguaggi viene tradotto nell’espressione condizionale.
Il codice C, Java, …
x = (E == 1) ? espr1 : espr2;
diventa in Python
x = espr1 if(E == 1) else espr2
Se l’if(...) ha successo viene valutata la 1° espressione altrimenti la 2°.
Il valore risultante verrà assegnato alla variabile x.
La sintassi si discosta da quella comune di Python!
Esempio
a = 10
x = "Pari" if(a%2 == 0) else "Dispari"
Annidate
Se le espresioni logiche e le espressioni controllate sono sintetiche si può pensare di utilizzare le espressioni condizionali annidate per realizzare una selezione multipla.
x = espr1 if(E == 1) else espr2 if(E == 2) else espr3 ...
Esempio
a = 10
s = "positivo" if(a > 0) else "nullo" if(a == 0) else "negativo"
x = +1 if(a > 0) else 0 if(a == 0) else -1