Institut Supérieur d’Informatique et de
Multimédia de Gabès (ISIMG)
Chapitre 2 : Les variables et les types de
données en Python
Année universitaire : 2024-2025
Plan
I. Introduction
II. Les types de données
III. Les opérations sur les variables
IV. Les actions élémentaires sur les variables
1
I. Introduction
Une variable est un conteneur pour stocker une valeur. Elle
est caractérisée par :
Un identificateur (nom) : Il désigne une donnée du programme. Il
peut contenir des chiffres et des lettres.
Un type : C’est une information sur le contenu de la variable qui
permet d’indiquer la manière de manipuler la variable.
En Python, il n’y a pas de commande pour la création des
variables. Une variable est créée au moment où on lui
attribue une valeur pour la première fois.
I. Introduction
En Python, le typage est dynamique. Donc, On n’a pas besoin
de déclarer explicitement le type d’une variable. Le type de la
variable est déterminé lors de l’affectation d’une valeur. Une
variable peut même changer de type après être définie.
Une variable doit être initialisée avant d’être manipulée.
2
I. Introduction
Le choix du nom de la variable doit respecter les règles
suivantes :
Le nom doit commencer par une lettre ou un tiret bas (_). Mais, il
n’est pas recommandé de débuter le nom d’une variable par le tiret
bas.
Le nom ne doit contenir que des caractères alphanumériques
(l’espace et les caractères spéciaux ne sont pas autorisés). Le tiret bas
(_) est aussi autorisé.
Le nom ne peut pas être un mot réservé en Python (exemples : if,
while, for, elif…)
Python est sensible à la casse : Un même nom écrit en majuscules et
en minuscules créera deux variables différentes.
I. Introduction
Exemples :
>>> a=15
>>> print(A)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module> >>>else=5
print(A) SyntaxError: invalid syntax
NameError: name 'A' is not defined
>>> print(a)
15
>>> a)=1
SyntaxError: invalid syntax
>>> _a=1
>>> print(_a)
1
>>> a_1='bon'
>>> print(a_1)
bon
6
3
II. Types de données
Les données manipulées avec un langage de programmation
sont en général classées par type.
Un type de données pour un langage de programmation est
défini par l’ensemble des manipulations qu’on peut appliquer
sur les données de ce type. Les opérations appliquées sur les
données varient d’un type à un autre.
II. Types de données
Python définit plusieurs types de données dont les plus
utilisées sont :
Cette partie du cours porte sur les types numériques, booléen
et chaines de caractères.
8
4
II. Types de données
II.1. Types numériques
Python définit trois types numériques :
Le type int représente les entiers positifs et négatifs.
Le type float représente les nombres réels et quelques
représentations scientifiques (Exemple : la lettre E (ou e) est utilisée
pour représenter la puissance de 10).
Le type complex représente les nombres complexes et imaginaires. Il
utilise la lettre j pour représenter la partie imaginaire d’un nombre
complexe.
II. Types de données
II.2. Type booléen
Le type bool est un type de données qui peut prendre
uniquement deux valeurs (True et False) qui représentent
deux états.
Il est utilisé notamment pour valider ou invalider les tests. Il
est utile en particulier dans les structures de contrôle (les
boucles et les structures conditionnelles).
Pour stocker un booléen dans une variable, il ne faut pas
utiliser les guillemets et la première lettre doit être en
majuscule pour que Python reconnaisse le type booléen.
10
5
II. Types de données
II.3. Type chaine de caractères
Une chaine de caractères est une suite de caractères
(chiffres, lettres, caractères spéciaux) entourée par deux
guillemets (doubles ou simples). En Python, elles sont
représentées par le type str (string).
En Python, le type caractère n’existe pas. Un caractère est
une chaine de caractères qui contient un seul caractère.
Un nombre entre des guillemets est considéré comme chaine
de caractères.
11
III. Opérations sur les variables
Un opérateur est un symbole ou un signe qui permet
d’effectuer une opération. En Python, les opérateurs sont
classés dans les catégories suivantes :
Les opérateurs arithmétiques : +, -, *, /, //, %
Les opérateurs logiques : and, or, not
Les opérateurs d’affectation : =, +=, -=, *= …
Les opérateurs relationnels : >, >=, <, <=, !, ==
Les opérateurs binaires : &, |, ^, >>, <<, ~
Les opérateurs spéciaux : opérateurs d’identité (is, is not) et
opérateurs d’appartenance (in, not in)
12
6
III. Opérations sur les variables
III.1. Opérations sur les types numériques
La plupart des opérateurs arithmétiques sont communs aux
types int et float.
On peut réaliser les opérations entre les nombres soit
directement (utilisation de Python comme une calculatrice),
soit entre des variables (après affectation des valeurs).
>>> 3+5 #addition des nombres directement
8
>>> x=2 #initialisation d’une variable x
>>> y=3 #initialisation d’une variable y
>>>x*y #produit de x et y
6
>>>x-1 #soustraction d’un nombre (1) de x
1
13
III. Opérations sur les variables
Le résultat de toute opération arithmétique entre des
nombres de type float est de type float.
Le résultat de toute opération arithmétique entre des
nombres de types float et int est de type float.
Le résultat de la division est toujours de type float.
En cas de division entière, on utilise les opérateurs suivants :
// pour obtenir le quotient de la division.
% pour obtenir le reste de la division.
>>> 3+4.0 #L’un des deux nombres est de type float. Donc, le résultat est de type float.
7.0
>>> x=2
>>> y=5.5
>>>x*y
11.0
>>>10/2 #La division donne un résultat de type float.
5.0 14
7
III. Opérations sur les variables
Les opérateurs d’affectation sont applicables aux variables de
type int et float.
Les opérateurs binaires sont utilisés avec les variables
entières. Les valeurs des variables sont converties en bits.
Ensuite, l’opérateur binaire travaillera sur ces bits. Le résultat
obtenu est de type int.
On peut convertir une variable d’un type à un autre
(int float ou float int) grâce au casting.
>>>int(-14.5)
-14
>>>
>>> float (2)
2.0
15
III. Opérations sur les variables
Exemples d’opérations binaires et d’affectation
Opérateurs Description Exemples Équivalent à
= Affectation simple x=5
+= Addition puis affectation x+=y x=x+y
**= Elévation à la puissance puis affectation x**=y x=x**y
&= ET bit à bit puis affectation x&=y x=x&y
|= OU bit à bit puis affectation x|=y x|=y
^= XOR bit à bit puis affectation x^=y x=x^y
>>> 17 & 4.5 #opérateur non autorisé pour les nombres réels
Traceback (most recent call last): File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for &: 'float' and 'int'
>>> x=2
>>> y=12
>>>x+=y #x=x+y
>>>x
14
>>>x&=y # x=x&y
>>>x
12
16
8
III. Opérations sur les variables
En Python, les nombres complexes sont stockés en
coordonnées cartésiennes. Un nombre complexe z est défini
par sa partie réelle [Link] et sa partie imaginaire [Link]. On
utilise la lettre j au lieu de la lettre i pour la partie imaginaire.
La représentation d’un nombre complexe z est la suivante :
z=[Link]+[Link]*1j
Les opérateurs arithmétiques (division, multiplication,
addition et soustraction) ainsi que les opérateurs d’affectation
sont applicables aux nombres complexes.
17
III. Opérations sur les variables
Exemples d’opérations sur les nombres complexes
>>> x=4+1j
>>> y=5-2j
>>>z=x+y #addition des deux nombres complexes
>>>z
9-1j
>>>[Link]
9
>>>(2.5+3j).imag
3
>>>(2+3j)/(4+5j) #division de nombres complexes
0.5609756097560976+0.0487804878048781j
>>> x > y
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
z>z1
TypeError: '>' not supported between instances of 'complex'
and 'complex'
18
9
III. Opérations sur les variables
III.2. Opérations sur les chaines de caractères
Une variable de type str est initialisée par un texte entre
guillemets (simple ou double).
En Python, comme la plupart des langages informatiques, on
commence à compter à partir de 0. Donc, pour une chaine ch,
l’indice du premier caractère est égal à 0.
L’accès au ième caractère d’une chaine ch s’effectue comme
suit : ch[i-1].
19
III. Opérations sur les variables
L’accès à une sous-chaine d’une chaine ch s’effectue comme
suit : ch[i:j] avec (i+1) et (j) les indices de premier et du
dernier caractère de la sous-chaine.
Les chaines de caractères autorisent les opérations de
concaténation (avec l’opérateur +) et de duplication (avec
l’opérateur *).
20
10
III. Opérations sur les variables
Exemples d’opérations sur les caractères
>>> ch='bon'
>>> ch1='jour'
>>>ch2=ch+ch1 #concaténation des deux chaines
>>>ch2
'bonjour'
>>>ch2[0:3] #sous chaine de la chaine ch2
'bon'
>>>ch2[2] #troisième caractère de ch2
'n'
21
III. Opérations sur les variables
III.3. Opérations sur les booléens
Une variable de type bool peut être initialisée par la valeur
True ou par la valeur False ou par une expression à tester.
Les opérateurs relationnels et logiques sont utilisables avec
les expressions booléennes.
Les tableaux suivants résument les résultats possibles avec les
types logiques.
Expression Résultat Expression Résultat Expression Résultat
True and True True True or True True not True False
True and False False True or False True not False True
False and True False False or True True
False and False False False or False False
22
11
III. Opérations sur les variables
Exemples d’opérations avec les booléens
>>> 5==7
False
>>> a = 6
>>> b = 8
>>> a == 6 and b == 7
False
>>> a == 6 or b == 7
True
>>> not (a <b and a==6) #L’opérateur not appliqué à toute l’expression.
True
>>> not a <b and a==6 #L’opérateur not appliqué à l’expression a<b.
False
23
IV. Instructions élémentaires sur les variables
Les instructions élémentaires sur les variables sont les
suivantes :
L’affectation : Il s’agit d’assigner une valeur à une variable. Cette valeur
peut être une valeur donnée, un identificateur (nom d’une autre
variable), une expression logique ou arithmétique. L’affectation peut
être simple ou simultanée (plusieurs variables en même temps).
La saisie : C’est une action qui permet d’affecter une valeur saisie par
l’utilisateur à une variable. L’exécution de cette instruction donne la
main à l’utilisateur pour introduire une valeur. En Python, la saisie
s’effectue avec la fonction input().
L’affichage : Cette instruction permet de communiquer la valeur d’une
(ou plusieurs) variable(s) ou un message à l’utilisateur. L’affichage
s’effectue avec la fonction print().
24
12
IV. Instructions élémentaires sur les variables
Exemples d’instructions élémentaires (affectation et saisie)
>>> a=5 #affectation simple
>>> b,c,d=5.2,'g',2 #Les valeurs 5.2, 'g' et 2 sont affectées à b,c et d respectivement.
>>> a+=b #Le résultat calculé est stocké dans a.
>>> a,b,c,d=d,c,b,a #permutation circulaire sur a, b, c, d
>>> a,b,c,d
(2, ' g ', 5.2, 10.2)
>>> a=input(" Saisir un entier positif : ")
Saisir un entier positif : 15
>>>a #Le type par défaut est str.
'15'
>>> a=int(input(" Saisir un entier positif : ")) #conversion du type de la valeur saisie en entier
Saisir un entier positif : 15
>>>type(a) #a est de type entier.
<class 'int'>
25
IV. Instructions élémentaires sur les
variables
Exemples d’instructions élémentaires (affichage)
>>>a,b=15,2
>>>print (a) #affichage de la valeur contenue dans a
15
>>>print (" la valeur de a est égale à ", a) #affichage de la valeur contenue dans a
La valeur de a est égale à 15
>>>print (' la somme de a et b est égale à ', a+b) #affichage du résultat d’une opération airthmétique
La somme de a et b est égale à 17
>>> print (' Les valeurs de a et b sont :', a,b, sep=' ' ) #sep désigne le caractère de séparation (espace dans ce cas)
Les valeurs de a et b sont : 15 2
>>> print (' Les valeurs de a et b sont : ', a,b, sep='|', end=';' ) #end désigne le caractère de marquage de fin
Les valeurs de a et b sont :|15|2;
>>>print (a,b, '\n ' ) #affichage de chaque variable dans une ligne
15
2
>>>print(""" Ce message est
écrit sur \t plusieurs
lignes """) #affichage sur plusieurs lignes, '\t' désigne une tabulation, """ permet l’affichage sur plusieurs lignes
Ce message est
écrit sur plusieurs
lignes
26
13