Les opérateurs





On distingue deux types d’opérateurs en python (et dans d’autres langages)

  1. les opérateurs arithmétiques ou binaires, qui renvoient un résultat sous forme de valeur numérique ou texte, à partir d’un ou de deux opérandes (opérateur unaire/binaire) qui lui sont soumis: l’exemple le plus simple est l’opérateur + qui renvoie la somme de deux opérandes de type numérique ou la concaténation de deux chaînes de caractères
  2. les opérateurs de comparaison, qui renvoient une valeur booléenne (True ou False) selon le résultat d’un test effectué sur un ou plusieurs opérandes (par exemple, a < b renvoie True si l’inégalité est vérifiée)

Les opérateurs arithmétiques

 
A chaque opérateur correspond une méthode car les types de variables les plus simples, comme int ou float sont néanmoins définis par des classes d’objets avec leur attribut (la valeur) et leurs méthodes (opérations).
Le tableau ci-dessous affiche les opérateurs arithmétiques courants et leur méthode correspondante

addition x+y x.__add__(y)
soustraction x-y x.__sub__(y)
multiplication x*y x.__mul__(y)
division x/y x.__truediv__(y)
division entière x//y x.__floordiv__(y)
modulo x%y x.__mod__(y)
puissance x**y x.__pow__(y)

Les versions 2.x et 3.x traitent différemment les divisions: la version 3.x assimile les entiers à des nombres flottants (pas de division entière par défaut pour les valeurs de type int)

>>> 7/4 1 (version 2.x)
>>> 7/4 1.75 (version 3.x)
>>> 7%4 3

 

Opérateurs arithmétiques composés

 
On peut regrouper une opération arithmétique et une affectation en une seule opération

Opérateur composé Equivalent
x += a x = x+a
x -= a x = x-a
x *= a x = x*a
x /= a, x //= a, x %= a, x **= a x = x/a, x = x//a, x = x%a, x = x**a

 

Opérateurs binaires

 

Opérateur Description Exemples
x & y (Et) 1 & 1 == 1
1 & 0 == 0
0 & 0 == 0
x ^ y (Ou exclusif) 1 ^ 1 == 0
1 ^ 0 == 1
0 ^ 0 == 0
x | y (Ou inclusif) 1 | 1 == 1
1 | 0 == 1
0 | 0 == 0
x << n décalage de n bits vers la gauche 5 (0101) << 3 == 40 (010100)
x >> n décalage de n bits vers la droite 5 (0101) >> 2 == 1 (01)
entier négatif: on inverse les bits et on ajoute 1 5 == (0101)
-5 == (1010 + 1) == (1011)
-5 << 3 == (1011000) == -(0100111 + 1)
== -(0101000) == -40

 

Opérateurs de comparaison

Opérateur Exemples
a == b 2==4 False
a != b 3 != 4 True
a < b, a <= b, a > b, a >= b 7 < 10, 8 > 8 True, False
combinaison d’opérateurs (avec and et or) 7 < 10 and 8 > 8 False