logo

Opérateur ternaire en Python

Dans Python , l'opérateur ternaire détermine si une condition est vraie ou fausse, puis renvoie la valeur appropriée comme résultat. L'opérateur ternaire est utile dans les cas où nous devons attribuer une valeur à une variable en fonction d'une condition simple et où nous souhaitons garder notre code plus concis, le tout sur une seule ligne de code.

C'est pratique lorsque nous voulons éviter d'écrire plusieurs lignes pour une simple condition if-else. Comme dans le simple if-else, la première option, le vraie valeur sera exécuté lorsque la condition fournie dans l’expression est vraie. Si la condition renvoie False, alors valeur_fausse sera exécuté.



  Syntax:     true_value   if   condition   else   false_value>

L'opérateur ternaire peut être utilisé de différentes manières. Voyons quelques exemples différents d'utilisation des opérateurs ternaires en Python :

Table des matières

Python Ternaire Si Sinon

La manière la plus simple d’utiliser un opérateur ternaire Python est d’avoir un simple sinon condition , c'est-à-dire que l'une des deux conditions est vraie et l'autre est fausse.



Exemple: Dans ce code, nous comparerons et trouverons le nombre minimum parmi les deux nombres donnés en utilisant les opérateurs ternaires en Python et en stockant le résultat dans un nom de variable. 'min'. Si ' un ‘ est minimum, la valeur de ‘ un ' sera imprimé, sinon la valeur de ' b ‘ sera imprimé.

Python
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>

Sortir:

a is minimum>

Opérateur ternaire dans If else imbriqué

L'opérateur ternaire peut également être utilisé dans Instruction if-else imbriquée Python . la syntaxe correspondante est la suivante :



Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

Exemple: Dans cet exemple, nous utilisons un if-else imbriqué pour démontrer l'opérateur ternaire. Si ' un' et ' b 'sont égaux alors nous imprimerons 'a et b sont égaux' et sinon si 'a' est plus grand que 'b' alors nous imprimerons 'a est supérieur à b' sinon 'b est supérieur à a'.

Python
# Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b sinon 'b est plus grand')>

Sortir:

algorithme minimax
b is greater>

Opérateur ternaire utilisant Python Tuple

L'opérateur ternaire peut également être écrit en utilisant Tuples Python . Dans ce cas, nous déclarons les valeurs False et True à l’intérieur d’un tuple aux index 0 et 1 respectivement. En fonction de la condition, si le résultat est False, c'est-à-dire 0, la valeur à l'index 0 est exécutée. Si la condition renvoie True, la valeur à l’index 1 du tuple est exécutée.

Syntax: (false_value, true_value) [condition]>

Exemple: Dans cet exemple, nous comparerons et imprimerons la valeur minimale, où les valeurs à exécuter sont déclarées à l'intérieur du tuple.

Python
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>

Sortir:

a is minimum>

Opérateur ternaire utilisant le dictionnaire Python

L'opérateur ternaire Python peut également être écrit en utilisant Dictionnaire Python . Dans ce cas, nous utilisons les mots-clés True et False comme clés du dictionnaire et leur fournissons une valeur à exécuter en fonction du résultat de la condition.

  Syntax: (True: true_value, False: false_value) [condition]>

Exemple: Dans cet exemple, nous utilisons Dictionary pour démontrer l'opérateur ternaire, où nous avons donné des valeurs True et False aux clés du dictionnaire, qui seront exécutées en fonction du résultat de la condition.

Python
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>

Sortir:

a is minimum>

Opérateur ternaire utilisant Python Lambda

En Python, fonctions lambda sont utilisés lorsque nous n’avons qu’une seule expression à évaluer. Par conséquent, l’utilisation de l’opérateur teranery avec lambda rend les choses assez simples et faciles. Cela fonctionne exactement comme le tuple. Autrement dit, nous déclarons les valeurs False et True aux index 0 et 1 respectivement.

Syntax: (lambda: false_value, lambda: true_value) [condition] ()>

Exemple: Dans cet exemple, nous utilisons Lambda pour démontrer l'opérateur ternaire. Nous utilisons un tuple pour sélectionner un élément et si [a

Python
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>

Sortir:

a is minimum>

Opérateur ternaire avec fonction d'impression

L'opérateur ternaire peut également être utilisé directement avec le Instruction d'impression Python . Sa syntaxe est la suivante :

Syntax: print(true_value) if (condition) print(false_value)>

Exemple: Dans cet exemple, nous trouvons le nombre minimum parmi deux nombres en utilisant l'opérateur ternaire Python avec l'instruction print.

Python
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

Sortir:

inversion de chaîne en c
10 is minimum>

Limites de l'opérateur ternaire Python

L'opérateur ternaire Python est utilisé pour écrire des instructions conditionnelles concises, mais il présente également certaines limites.

  • Lisibilité : T L'opérateur ternaire peut rendre les expressions conditionnelles simples plus concises, il peut également réduire la lisibilité de votre code, surtout si la condition et les expressions sont complexes.
  • Potentiel d'erreur : Un placement incorrect des parenthèses, des deux-points manquants ou un ordre incorrect des expressions peuvent entraîner des erreurs de syntaxe qui peuvent être plus difficiles à repérer.
  • Débogage : Lors du débogage, il peut être plus difficile d'inspecter les valeurs des variables impliquées dans une expression ternaire complexe.
  • Maintenance et extensibilité : Les expressions ternaires complexes peuvent devenir plus difficiles à maintenir et à étendre, en particulier lorsque la base de code s'agrandit.
  • Impossible d'utiliser les instructions d'affectation : Chaque opérande de l'opérateur ternaire Python est un expression , pas une instruction, cela signifie que nous ne pouvons pas utiliser d'instructions d'affectation dans aucun d'entre eux. Sinon, le programme générera une erreur.

Exemple:

Python
3 if True else x=6>

Sortir:

File 'Solution.py', line 1  3 if True else x=6  ^ SyntaxError: can't assign to conditional expression>