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.
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ément
aest dans la séquence
b`.
>>> "a" in "La nuit."
True
>>> 5 in [0, 2, 4, 6 ,8]
False
a not in b
retourne True si l'élément
an'est pas dans la séquence
b`.
>>> "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'