Maison >développement back-end >Tutoriel Python >Comment fonctionne l'opérateur conditionnel ternaire de Python ?

Comment fonctionne l'opérateur conditionnel ternaire de Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-30 15:37:10898parcourir

How Does Python's Ternary Conditional Operator Work?

Opérateur conditionnel ternaire de Python

Contrairement à de nombreux autres langages de programmation populaires, Python possède une fonctionnalité polyvalente connue sous le nom d'opérateur conditionnel ternaire. Cet opérateur, introduit dans la version 2.5, permet une évaluation d'expression concise et le retour de l'une des deux valeurs en fonction d'une condition donnée.

Syntaxe :

a if condition else b

Fonctionnalité :

Tout d'abord, la condition est évaluée. En fonction de sa véracité, a ou b est évalué et renvoyé. Si la condition est évaluée à True, a est renvoyé, tandis que b est ignoré. À l'inverse, si la condition est évaluée à False, b est renvoyé et a est ignoré.

Cette approche permet un court-circuit efficace, car l'opérateur évalue uniquement la valeur requise sans exécuter l'autre. Par exemple :

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

Expression vs. Déclaration :

Il est important de noter que les conditions ternaires sont des expressions, pas des déclarations. Par conséquent, ils ne peuvent pas inclure d’instructions ou d’affectations autonomes en eux-mêmes. Par exemple :

# Invalid Syntax
>>> pass if False else pass
>>> (1 if False else y) = 2  # Augmented assignment syntax not allowed
>>> x = 1 if False else y = 2  # Simple assignment syntax not allowed

Par conséquent, l'utilisation de conditions ternaires pour attribuer des variables nécessite une syntaxe différente :

x = a if True else b

Cas d'utilisation :

Ternaire les conditions s'avèrent utiles dans les situations où l'une des deux valeurs doit être calculée ou renvoyée en fonction d'une condition. Il simplifie le code en éliminant le besoin d'instructions if-else explicites. Cependant, certains passionnés de Python conseillent d'être prudents en raison d'inconvénients potentiels, notamment :

  • Syntaxe non conventionnelle : L'ordre des arguments diffère de celui des opérateurs ternaires d'autres langages.
  • Dissonance cognitive : Elle peut perturber le flux de la pensée, car la condition est évaluée avant que les effets ne soient déterminé.
  • Préoccupations stylistiques :Certains le trouvent inélégant et compliquant le code.

Pour éviter toute confusion, il est recommandé de se rappeler que lors de la lecture à haute voix, l'ordre reflète correctement le sens voulu. Pour référence ultérieure, la documentation officielle fournit des informations supplémentaires :

  • Expressions conditionnelles
  • Existe-t-il un équivalent de l'opérateur ternaire « ?: » de C ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn