Comment utiliser l'opérateur ternaire en Python (expressions conditionnelles)

Apprenez à écrire des expressions conditionnelles (opérateurs ternaires) en Python. Comparez les conditions en ligne avec les blocs if-else standard.

Essayez cette solution dans l'éditeur

Aperçu

L'écriture de logique conditionnelle est une partie essentielle de la programmation. Vous devrez souvent attribuer une valeur à une variable selon qu'une condition est vraie ou fausse. Par exemple, définir une étiquette de statut sur « Actif » si un utilisateur est en ligne, ou attribuer « Invité » si aucun nom d'utilisateur n'est fourni.

Alors qu'une instruction « if-else » standard prend 4 lignes de code, Python fournit un raccourci concis connu sous le nom d'opérateur ternaire ou d'expression conditionnelle. Il vous permet d'évaluer les conditions et d'attribuer des valeurs à l'intérieur d'une seule ligne logique. La syntaxe est : `value_if_true si condition sinon value_if_false`.

L'opérateur ternaire est hautement lisible lorsqu'il est utilisé pour des évaluations simples, et il peut être placé directement dans les compréhensions de listes, les instructions de retour et les appels de fonction. Cependant, imbriquer plusieurs opérateurs ternaires ensemble est une mauvaise pratique car cela devient vite illisible. Si votre logique conditionnelle est complexe, écrivez des blocs standard « if-elif-else ».

Sortie de code et d'exécution

Ce script montre l'écriture d'instructions conditionnelles en ligne à l'aide d'opérateurs ternaires Python et les compare aux blocs if-else standard.

ternary_operator.py
Essayez dans l'éditeur
status = "active"

# 1. Traditional if-else assignment
if status == "active":
    label = "System Online"
else:
    label = "System Offline"
print("Traditional label:", label)

# 2. Pythonic ternary operator assignment (Equivalent)
label_ternary = "System Online" if status == "active" else "System Offline"
print("Ternary label:", label_ternary)

# 3. Using ternary operator inside a print statement
score = 85
print(f"Result: {'Pass' if score >= 50 else 'Fail'}")
Sortie terminale
Traditional label: System Online
Ternary label: System Online
Result: Pass

Mise en œuvre étape par étape

  • Structurez votre expression ternaire comme : true_value if condition else false_value.
  • Utilisez l'instruction ternaire en ligne dans les affectations de variables pour réduire l'empreinte du code.
  • Évitez d'imbriquer les opérateurs ternaires (par exemple, a if b else c if d else e) pour préserver une lisibilité nette.

Foire aux questions

Les opérateurs ternaires Python sont-ils plus lents que les blocs if-else standard ?

Non, ils ont des performances identiques car ils compilent selon les mêmes opérations de bytecode. Choisissez la syntaxe la plus lisible pour le contexte.

Puis-je exécuter des instructions au lieu de renvoyer des valeurs dans un opérateur ternaire ?

Non, l'opérateur ternaire est une expression, ce qui signifie qu'il doit donner une valeur. Vous ne pouvez pas écrire de déclarations (comme des devoirs ou des mots-clés d'impression) à l'intérieur des branches.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.