Exemple de priorité des opérateurs Python

Le tableau suivant répertorie tous les opérateurs de la priorité la plus élevée à la plus basse.

Opérateur La description
** Exponentiation (élever au pouvoir)
~ + - Complément, unaire plus et moins (les noms de méthode pour les deux derniers sont + @ et - @)
* /% // Multiplier, diviser, modulo et division au sol
+ - Addition et soustraction
>> << Décalage du bit à droite et à gauche
& Bitwise 'AND'td>
^ | OU exclusif au niveau du bit et OU normal
<= <>> = Opérateurs de comparaison
<> ==! = Opérateurs d'égalité
=% = / = // = - = + = * = ** = Opérateurs d'affectation
ce n'est pas Opérateurs d'identité
pas dans Opérateurs d'adhésion
pas ou et Opérateurs logiques

La priorité des opérateurs affecte la manière dont une expression est évaluée.

Par exemple, x = 7 + 3 * 2; ici, x est assigné 13, pas 20 parce que l'opérateur * a une priorité plus élevée que +, donc il multiplie d'abord 3 * 2 puis ajoute en 7.

Ici, les opérateurs avec la priorité la plus élevée apparaissent en haut du tableau, ceux avec la priorité la plus faible apparaissent en bas.

Exemple

#!/usr/bin/python

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ",  e

e = ((a + b) * c) / d     # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ",  e

e = (a + b) * (c / d);    # (30) * (15/5)
print "Value of (a + b) * (c / d) is ",  e

e = a + (b * c) / d;      #  20 + (150/5)
print "Value of a + (b * c) / d is ",  e

Lorsque vous exécutez le programme ci-dessus, il produit le résultat suivant -

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50