Python 3 - Exemple de priorité des opérateurs

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

N ° Sr. Opérateur et description
1

**

Exponentiation (élever au pouvoir)

2

~ + -

complément, unaire plus et moins (les noms de méthode pour les deux derniers sont + @ et - @)

3

* / % //

Multiplier, diviser, modulo et division au sol

4

+ -

Addition et soustraction

5

>> <<

Décalage du bit à droite et à gauche

6

&

Bitwise 'ET'

sept

^ |

OU exclusif au niveau du bit et OU normal

8

<= < > >=

Opérateurs de comparaison

9

<> == !=

Opérateurs d'égalité

dix

= %= /= //= -= += *= **=

Opérateurs d'affectation

11

is is not

Opérateurs d'identité

12

in not in

Opérateurs d'adhésion

13

not or and

Opérateurs logiques

La priorité des opérateurs affecte l'évaluation d'une expression.

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 est ajouté à 7.

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

Exemple

#!/usr/bin/python3

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

print ("a:%d b:%d c:%d d:%d" % (a,b,c,d ))
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)

Production

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

a:20 b:10 c:15 d:5
Value of (a + b) * c / d is  90.0
Value of ((a + b) * c) / d is  90.0
Value of (a + b) * (c / d) is  90.0
Value of a + (b * c) / d is  50.0