Aller au contenu

Opérateurs

Une expression permet de calculer une valeur en les combinant entre elles d'autres valeurs par des opérateurs. Dans l'expression \(2 + 3\), 2 et 3 sont les opérandes de l'opérateur \(+\). Les principaux opérateurs sont les opérateurs arithmétiques, logiques et de manipulation de chaînes.

Opérateurs arithmétiques

Opérateurs arithmétiques

Addition

>>> 2 + 5
7
>>> a = 15
>>> b = 2
>>> a + b
17

Soustraction

>>> 2 - 5
-2
>>> a = 5
>>> b = -2
>>> a - b
7

Multiplication

>>> 2 * 5
10
>>> a = 5
>>> b = -2
>>> a * b
-10

Division

>>> 5 / 2
2.5
>>> a  = 10
>>> b = 2
>>> a / b
5.0

Exposant

L'expression a ** b équivaut à l'expression mathématiques \(a^b\)

>>> 5 ** 2
25
>>> a = 2
>>> b = 3
>>> a ** b
8

Modulo

L'expression a % b retourne le reste de la division euclidienne de a par b.

  • Dans 7 il y a 3 fois 2 et il reste 1;
  • Dans 8 il y a 4 fois 2 et il reste 0.

Nous avons donc:

>>> 7 % 2 
1
>>> a = 8
>>> b = 2
>>> a % b
0

Quotient entier

L'expression a // b retourne le quotient de la division euclidienne de a par b.

  • Dans 7 il y a 3 fois 2 et il reste 1;
  • Dans 8 il y a 4 fois 2 et il reste 0.

Nous avons donc:

>>> 7 // 2 
3
>>> a = 8
>>> b = 2
>>> a // b
2

L'ordre des priorités opératoires est le même qu'en mathématiques.

Notebook sur les opérateurs

Opérateurs de comparaison

Ces opérateurs compare deux opérandes et retournent le booléen True si les opérandes vérifient la relation et False sinon.

Opérateurs de comparaison

Egalité

>>> 2 * 5 == 15 - 5
True
>>> 2 + 2 == 5
False 

Différence

>>> 2 != 5
True
>>> 2 + 2 != 4
False

Supérieur à

>>> 2 > 5
False
>>> 9 - 2 > 4
True

Supérieur ou égal à

>>> 5 >= 5
True
>>> 9  >= 4
True

Inférieur à

>>> 2 < 5
True
>>> 9 - 2 < 4
False

Inférieur ou égal à

>>> 2 <= 5
True
>>> 4 <= 4
True

Opérateurs logiques

Opérateurs logiques

ET logique

Retourne True uniquement si les deux opérandes sont vérifiés.

>>> (2 < 3) and (4 < 5)
True
>>> (4 == 5) and ( 2 + 2 == 4)
False
>>> (2 + 3 == 5) and (1 != 1)
False

La table de vérité de l'opérateur and

a b a and b
False False False
False True False
True False False
True True True

OU logique

Retourne False uniquement si les deux opérandes ne sont pas vérifiés. Autrement dit, retourne True si l'un, l'autre ou les deux opérandes sont vérifiés.

>>> (2 == 1 + 1) or (3 != 3)
True
>>> (5 != 5) or (3 != 3)
False
>>> (3 == 5) or (7 == 7)
True

La table de vérité de l'opérateur or

a b a or b
False False False
False True True
True False True
True True True

NON logique

C'est un opérateur unitaire car il n'y a qu'un opérande.

Il retourne True si l'opérande est évalué à False et False sinon.

>>> not( 4 == 2 + 2)
False
>>> not (5 == 4)
True

La table de vérité de l'opérateur not

a not(a)
False True
True False

Opérateurs d'appartenance

Les opérateurs d'appartenance de Python sont in et not in. Ils permettent de savoir si une valeur est présente, ou non, dans une séquence (chaîne, liste, tuple, dictionnaire, etc.)

Opérateurs d'appartenance

a in b retourne True si l'élémentaest dans la séquenceb`.

>>> "a" in "La nuit."
True
>>> 5 in [0, 2, 4, 6 ,8]
False

a not in b retourne True si l'élémentan'est pas dans la séquenceb`.

>>> "a" not in "Le jour."
True
>>> 5 not in [1,3,5,7,9]
False

Priorités des opérateurs

Note

L'ordre décroissant des priorités des opérateurs est:

  • ()
  • **
  • *, /, //, %
  • +, -
  • ==, !=, >, >=, <, <=
  • in, not in
  • not
  • and
  • or

Opérateurs sur les chaînes de caractères

Il y a deux opérateurs de manipulation des chaînes de caractères + et *.

Opérateurs sur les chaînes de caractères

Concaténation

L'opérateur + permet joindre plusieurs chaînes et d'en créer une nouvelle. On dit que l'on concatène des chaînes.

>>> "abc" + "def"
'abcdef'

Répétition d'une chaîne

L'opérateur * permet de répéter une chaîne de caractères.

>>> 'ab' * 3
'ababab'

On peut comme pour les nombres utiliser les opérateurs de comparaison sur les chaînes de caractères. Cependant les miniscules sont différentes des majuscules qui sont toutes avant les minuscules. 'A' < 'Z' < 'a' < 'z'.

Exemples

>>> "bonjour" < "hello"
True
>>> "Un" == "un"
False
>>> "bonjour" < "Bonjour"
False

Attention

Les opérateurs + et * doivent être utilisé entre opérandes du même type. Si vous tenter de comparer une chaine de caractères avec un nombre vous obtiendrez une erreur de type TypeError en anglais.

>>> "a" < 2
TypeError: '<' not supported between instances of 'str' and 'int'