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