Opérateurs#

Introduction#

En Python, les opérateurs sont des symboles et des mots-clés spéciaux permettant d’effectuer des opérations sur les valeurs et les variables. Ils couvrent un large éventail de fonctionnalités : opérations arithmétiques, de comparaison, logiques, binaires et d’affectation. Maîtriser ces opérateurs est essentiel pour écrire du code Python expressif et performant, car ils constituent la base de presque tous les calculs et processus de décision de vos programmes. Vous trouverez ci-dessous des exemples concis pour chaque opérateur, afin de vous aider à comprendre leur utilisation et les résultats attendus.

Arithmetic#

Nom

Symbole

Opérateur

Exemple

Ajout

+

a + b

5 + 3 # 8

Division

/

a / b

10 / 4 # 2.5 (renvoie toujours un nombre flottant)

Exponentiation

**

a ** b

2 ** 3 # 8

Division des étages

//

a // b

10 // 4 # 2 (renvoie toujours un entier)

Modulo

%

a % b

10 % 4 # 2

Multiplication

*

a * b

5 * 3 # 15

Négation

-

- a

- 5 # -5

Soustraction

-

a - b

10 - 3 # 7

Augmented Arithmetic#

Nom

Symbole

Opérateur

Exemple

Ajout

+=

a += b

a = 5
b = 3
a += b # a = 8

Division

/=

a /= b

a = 10
b = 4
a /= b # a = 2.5

Exponentiation

**=

a **= b

a = 2
b = 3
a **= b # a = 8

Division des étages

//=

a //= b

a = 10
b = 4
a //= b # a = 2

Module

%=

a %= b

a = 10
b = 3
a %= b # a = 1

Multiplication

*=

a *= b

a = 2
b = 3
a *= b # a = 6

Soustraction

-=

a -= b

a = 10
b = 4
a -= b # a = 6

Comparison#

Nom

Symbole

Opérateur

Exemple

Égalité

==

a == b

5 == 5 # True

Inégalité

!=

a != b

5 != 10 # True

Supérieur à

>

a > b

10 > 5 # True

Supérieur ou égal

>=

a >= b

10 >= 5 # True

Moins que

<

a < b

5 < 10 # True

Inférieur ou égal

<=

a <= b

5 <= 5 # True

Comparaison enchaînée

varies

a < b < c

1 < 2 < 3 # True (1 < 2) and (2 < 3)

Logical#

Nom

Symbole

Exemple

FAUX

False

Certaines valeurs sont définies comme étant False, notamment :

  • False
  • None
  • Zéro numérique de tout type : 0, 0.0, 0j
  • Séquences et collections vides : ‘’ (chaîne vide), [] (liste vide), () (tuple vide), {} (dictionnaire vide), set(), etc.

Vrai

True

Tout objet qui n’est pas explicitement False est considéré False. Par exemple, les chaînes non vides, les nombres non nuls, les listes non vides et même les objets personnalisés (à moins qu’ils ne remplacent les méthodes de valeur de vérité pour renvoyer True) sont traités comme True.


Nom

Symbole

Opérateur

Exemple

Identité

>is

a is b

[1] is [1] # False

Non-identité

is not

a is not b

5 is not 10 # True

ET logique

and

a and b

True and False # False

Négation logique

not

not a

not False # True

OU logique

or

a or b

False or True # True

Expression conditionnelle

if else

x if condition else y

“Yes” if 5 > 3 else “No” # “Yes”

Sequences (Lists, Tuples, Strings)#

Nom

Symbole

Opérateur

Exemple

Enchaînement

+

seq1 + seq2

[1, 2] + [3, 4] # [1, 2, 3, 4]

Affectation des tranches

seq[i:j] = values

lst = [1, 2, 3, 4]
lst[1:3] = [20, 30] # lst = [1, 20, 30, 4]

Suppression de tranche

del seq[i:j]

lst = [1, 2, 3, 4]
del lst[1:3] # lst = [1, 4]

Découpe

seq[i:j]

lst = [1, 2, 3, 4]
lst[1:3] # [2, 3]

Dictionaries (Mappings)#

Nom

Symbole

Opérateur

Exemple

Affectation indexée

obj[k] = v

d = {}
d[‘a’] = 1 # d = {‘a’: 1}

Suppression indexée

del obj[k]

d = {‘a’: 1}
del d[‘a’] # d = {}

Indexage

obj[k]

d = {‘a’: 1}<br>d[‘a’] # 1

String Formatting#

Nom

Symbole

Opérateur

Exemple

Formatage de chaînes

%

s % obj

str = “Hello, %(name)s” % {“name”: “Alice”} # str = ‘Hello, Alice’

Membership#

Nom

Symbole

Opérateur

Exemple

Test de confinement

in

obj in seq

‘a’ in ‘cat’ # True

Négation de l’adhésion (Pas dans)

not in

a not in b

‘x’ not in ‘hello’ # True

Bitwise#

Nom

Symbole

Opérateur

Exemple

Bitwise et

&

a & b

6 & 3 # 2 (0b110 & 0b011 = 0b010)

OU exclusif bit à bit (XOR)

^

a ^ b

6 ^ 3 # 5 (0b110 ^ 0b011 = 0b101)

Inversion bit à bit (NON)

~

~ a

~5 # -6 (~0b101 yields -6 in two’s complement)

OU bit à bit

|

a | b

6 | 3 # 7 (0b110 | 0b011 = 0b111)

Décalage à gauche

<<

a << b

2 << 3 # 16 (0b10 << 3 becomes 0b10000)

Changement de vitesse à droite

>>

a >> b

16 >> 2 # 4 (0b10000 >> 2 becomes 0b100)

Augmented Bitwise#

Nom

Symbole

Opérateur

Exemple

Bits augmentés et

&=

a &= b

a = 6
b = 3
a &= b # a = 2 (0b110 & 0b011 = 0b010)

OU exclusif bit à bit augmenté (XOR)

^=

a ^= b

a = 6
b = 3
a ^= b # a = 5 (0b110 ^ 0b011 = 0b101)

OU bit à bit augmenté

|=

a |= b

a = 6
b = 3
a |= b # a = 7 (0b110 | 0b011 = 0b111)

Décalage vers la gauche augmenté

<<=

a <<= b

a = 5
b = 2
a <<= b # a = 20 (5 << 2 equals 5 * 2²)

Déplacement vers la droite augmenté

>>=

a >>= b

a = 20
b = 2
a >>= b # a = 5 (20 >> 2 equals 20 // 2²)