Y a-t-il un opérateur ternaire en Python?

Bonjour,

J’aimerais savoir si Python posséde l’opérateur conditionnel ternaire? Sinon comment le simuler?

Oui, elle a été ajoutée dans la version 2.5. La syntaxe de l’expression est :

a if condition else b

Par exemple :

>>> 'true' if True else 'false'
'true'
>>> 'true' if False else 'false'
'false'

Vous pouvez toutefois utiliser des expressions pour assigner le résultat dans une variable:

x = a if True else b

Vous pouvez utiliser la syntaxe suivante pour simuler l’opérateur ternaire en Python.
<expression 1> if <condition> else <expression 2>

Exemple:

a = 1
b = 2

1 if a > b else -1 
# Sortie: -1

1 if a > b else -1 if a < b else 0
# Sortie: -1

Il existe deux méthodes pour simuler l’opérateur ternaire en Python .:

Méthode 1:

"true" if var else "false"

Méthode 2:

"true" and var or "false"