Opérateur conditionnel ternaire en Python

Syed Moiz Haider 30 janvier 2023
  1. Utilisez l’opérateur ternaire dans Python 2.5 et supérieur
  2. L’opérateur ternaire en Python utilisant Tuple
  3. L’opérateur ternaire utilisant lambda pour les versions antérieures à 2.5 en Python
Opérateur conditionnel ternaire en Python

Ce tutoriel définira différentes méthodes pour utiliser l’opérateur ternaire en Python. Il existe une manière différente d’utiliser l’opérateur ternaire en Python par rapport aux autres langages de programmation. Il existe différentes manières d’utiliser les opérateurs ternaires selon la compatibilité avec la version Python. Le didacticiel fournira des exemples de codes pour expliquer comment utiliser l’opérateur ternaire dans différentes versions de Python.

Utilisez l’opérateur ternaire dans Python 2.5 et supérieur

L’opérateur conditionnel ternaire a été ajouté dans Python 2.5. L’opérateur ternaire est défini comme l’opérateur qui prend trois opérandes. Dans cette méthode, d’abord, la condition donnée est évaluée, puis l’une des valeurs est évaluée et renvoyée en fonction de l’opérateur booléen. Il prend d’abord l’expression, puis vient à nouveau la condition, suivie de la partie else de l’expression.

La syntaxe de l’opérateur ternaire en Python est la suivante.

value_if if condition else value_else

Comme l’opérateur ternaire évalue d’abord la condition, il autorise le court-circuit, et une seule des deux expressions sera évaluée. Si condition est vraie, la première expression value_if est évaluée sinon la seconde expression value_else est évaluée.

L’exemple de code ci-dessous montre comment utiliser les opérateurs ternaires en Python.

a = 2
b = 0
1 if a > b else 0

Production:

1

La sortie de l’opérateur conditionnel ternaire peut être affectée à une variable, comme indiqué dans l’exemple de code ci-dessous.

a = 2
b = 0
temp = a if a > b else b
print(temp)

Production:

2

L’opérateur ternaire en Python utilisant Tuple

L’opérateur ternaire en Python peut être utilisé en utilisant des tuples. Il prend les expressions à évaluer et une instruction conditionnelle booléenne. L’expression à renvoyer dépend de la condition booléenne. Si la condition est vraie, la première valeur est renvoyée et si l’expression est fausse, la deuxième valeur est renvoyée. Cependant, dans tous les cas, cette méthode évaluera tout au lieu de la seule expression gagnante.

Un exemple de code est donné ci-dessous pour montrer comment cet opérateur ternaire peut être utilisé en Python à l’aide de tuple.

a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)

Production:

21.5

L’opérateur ternaire utilisant lambda pour les versions antérieures à 2.5 en Python

Pour les versions antérieures à Python 2.5, les opérateurs ternaires peuvent être utilisés avec lambda. Cette méthode prend les valeurs à renvoyer et une expression booléenne. Cette méthode suit une technique d’évaluation paresseuse dans laquelle le processus d’évaluation est retardé jusqu’à ce que sa valeur soit requise. C’est une meilleure approche que la méthode tuple dans ce sens. L’expression dans cette méthode est donnée par (falseValue, trueValue)[Test](). Si la condition de test est évaluée comme True, la trueValue sera imprimée; sinon, falseValue est imprimé.

Un exemple de code est donné ci-dessous pour décrire comment l’opérateur ternaire peut être utilisé avec lambda en Python.

val1, val2 = 12, 43

output = (lambda: val2, lambda: val1)[val1 > val2]()

print(output)

Production:

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

Article connexe - Python Operator