21/02/2020
CHAPITRE I :
LES TYPES INTEGRES
Par: Mme Maweheb SAIDANI
FSB 2019-2020
Qu’est-ce qu’une variable ?
Les programmes doivent mémoriser les données qu’ils utilisent.
Les variables nous fournissent plusieurs représentations et méthodes
de stockage des informations.
Une variable est un emplacement en mémoire principale destiné à recevoir une
donnée. Cette zone reçoit une valeur qui peut ensuite être réutilisée.
La mémoire de votre ordinateur est comparable à des cases alignées une à une.
Ces emplacements sont numérotés séquentiellement; il s’agit d’adresses en
mémoire. 553 554 555 556
...
Une variable peut occuper une ou plusieurs cases. Ex. : la case d’adresse 556.
Ex.: - une donnée numérique avec une précision plus ou moins grande,
- une chaîne de caractères plus ou moins longue.
FSB 2019-2020
1
21/02/2020
Taille des variables
Chaque emplacement en mémoire a la taille d’un octet, i.e. 8 chiffres binaires
0 ou 1 (8 bits ou BInary digiTS). La taille d’une variable dépend de son type.
L’intérêt de la base 2 est qu’elle représente exactement ce que l’ordinateur
reconnaît car les ordinateurs ne connaissent pas les lettres, les chiffres, les
instructions ou les programmes.
Note : Conversion d’un nombre binaire en base 10.
1010011 en base 2 (i.e. 10100112) équivaut en base 10 au nombre suivant :
1 x 20 + 1 x 21 + 0 x 22 + 0 x 23 + 1 x 24 + 0 x 25 + 1 x 26
ou encore
1 + 2 + 0 + 0 + 16 + 0 + 64
ce qui donne 83 en base 10 (i.e. 8310).
Par conséquent, un octet peut prendre les valeurs comprises entre 0 et 255
car 111111112 ≡ 25510 = 28 - 1.
FSB 2019-2020
3
Identificateur de variable
Pour identifier une variable, on utilise un identificateur pour désigner le nom
de cette variable.
L’identificateur doit indiquer le rôle joué par cette variable; il faut éviter d’utiliser
des noms qui n’évoquent rien. Ex. : Rayon_du_cercle au lieu de x.
Cela vous épargnera de devoir connaître l’adresse réelle en mémoire de celle-ci.
Règles à respecter pour les noms de variables
Une séquence de lettres (a → z, A → Z) et de chiffres (0 à 9) qui doit toujours
commencer par une lettre. Le symbole _ est considéré comme une lettre.
Aucune lettre accentuée, cédille, espace, caractère spécial à l’exception
du caractère souligné _.
Les minuscules et les majuscules sont des lettres différentes.
Exemple :
Variable_entiere, entier1, mot_en_francais sont valides mais 1er_entier,
nom.2, nom de variable, deuxième_entier et a-b ne le sont pas.
Éviter d’utiliser le symbole _ comme 1er caractère car il peut être utilisé pour
FSB 2019-2020
définir des entités spéciales pour Python. 4
2
21/02/2020
Les 28 mots réservés ci-dessous ne peuvent être utilisés comme nom de
variable :
Attention :
Vous devez saisir les majuscules et les minuscules exactement telles qu’elles
apparaissent.
Main, main et MAIN sont distincts l’un de l’autre.
Python distingue les majuscules et les minuscules :
Nom_de_variable est différent de nom_de_variable.
Bien que la longueur des identificateurs ne soit plus un problème dans les
langages de programmation d’aujourd’hui, utilisez des noms de taille
raisonnable ayant une signification.
Il peut
FSB exister des limites qui peuvent changer d’un interpréteur à l’autre.
2019-2020
5
Opérateur d’affectation =
Syntaxe : identificateur_de_variable = expression
Exemple : >>> entier1 = 8
>>> entier2 = entier1 - 5
>>> entier1 = entier1 + 1
>>> print entier1, entier2
93
>>>
But : stocker la valeur d’une expression dans une variable.
Dans le langage Python, ces instructions d’affectation réalisent les opérations
suivantes :
• créer et mémoriser un nom de variable,
• lui attribuer implicitement un type bien déterminé
(entier, réel, chaîne de caractères, …)
• lui associer une valeur particulière,
• Établir un lien entre le nom de la variable et l’emplacement mémoire
FSB renfermant la valeur associée.
2019-2020
3
21/02/2020
Affichage de la valeur d’une variable
>>> s = "Luc"
>>> entier = 3
>>> reel = 10.2
>>> s Affichage de la chaîne de caractères s.
'Luc'
>>> entier, reel Affichage des variables entier et reel.
(3, 10.199999999999999)
>>> s = 1 Affectation d’une valeur à une variable s.
>>> s Cela signifie que l’ancienne variable s
1 n’est plus accessible.
>>>
Ce mode d’affichage élémentaire est utilisé en mode interactif. Autrement, on opte
pour l’instruction print.
>>> chaine = "Oh! la! la!"
>>> indice = 5
>>> print chaine, indice Les variables sont séparées par des virgules.
Oh! la! la! 5
Notez les différences
>>> chaine, indice
entre les modes d’affichage.
FSB ('Oh! la! la!', 5)
2019-2020
>>> 7
Affectations multiples et parallèles
>>> centre_x, centre_y, rayon = 1.0, 0.5, 12 Affectation parallèle
>>> print centre_x, centre_y, rayon
1.0 0.5 12
>>> centre_x = centre_y = 0 Affectation multiple
>>> print centre_x, centre_y, rayon
0 0 12
>>>
Une autre façon de réaliser l’affectation de plusieurs variables à la fois est de
placer la liste des variables à gauche de l’opérateur d’affectation et la liste des
expressions à droite de l’opérateur d’affectation.
>>> x = 5.0 >>> x, y = 10, 20
>>> y = 10.0 >>> print x, y
>>> x, y, z = x + y, x - y, 25 10 20
>>> print x, y, z >>> x, y = y, x
15.0 -5.0 25 >>> print x, y
>>> u = v = 1. 20 10
>>> u, v, w = u + w, v + w, 3.4 >>>
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
Permutation de variables sans
u, v, w = u + w, v + w, 3.4
FSB 2019-2020
utiliser de variable temporaire.8
NameError: name 'w' is not defined
4
21/02/2020
Opérateurs et expressions
>>> x, y = 3, 13
>>> x, y = x ** 2, y % x l’opérateur ** d’exponentiation,
>>> print x, y l’opérateur modulo % .
91
>>> a = 10
>>> a = a + 1
>>> print a Dans une affectation parallèle avec des expressions,
11 l’évaluation de celles-ci se fait avec la valeur des
>>> variables avant l’exécution de l’instruction.
Priorité des opérateurs
Ordre de priorité : les parenthèses, **, * et /, + et -.
Si 2 opérateurs ont même priorité, l’évaluation est effectuée de gauche à droite.
>>> x = 5
>>> y = 3
>>> print x - 1 + y ** 2 * 3 / 6
8
>>>
FSB 2019-2020
9
Opérateurs d’affectation +=, -=, *=, /=, %=, **=, //=
Syntaxe : identificateur_de_variable op expression
But : L’évaluation d’une expression et une affectation sont combinées.
Exemple : >>> x = 5
>>> x **= 2 # Équivaut à x = x ** 2.
>>> x
25
>>> x %= 3
>>> x
1
>>> x //= 2
>>> x
0
>>>
Note : Contrairement à C++, Python ne renferme pas les opérateurs ++ et --.
FSB 2019-2020
10
5
21/02/2020
Saisie de données au clavier
La fonction input
Elle provoque une interruption dans le programme courant où l’utilisateur est invité à
entrer des données au clavier et à terminer avec <Enter>. L’exécution du programme
se poursuit alors et la fonction fournit en retour les valeurs entrées par l’utilisateur.
Ces valeurs peuvent alors être stockées dans des variables dont le type correspond
à celui des données entrées.
>>> print "Entrez un entier positif :"
>>> n = input()
>>> print "Deux puissance ", n, " donne comme résultat : ", 2**n
Deux puissance 5 donne comme résultat : 32
La fonction input est soit, sans paramètre ou soit, avec un seul paramètre, une chaîne
de caractères, lequel est un message explicatif destiné à l’utilisateur.
>>> nom = input("Entrez votre nom (entre guillemets) :")
>>> print nom
FSB 2019-2020
11
La chaîne de caractères est entrée entre des apostrophes ou des guillemets.
On peut saisir plusieurs données simultanément.
>>> t, u, v, w = input()
"oui", 34, "non", 59
>>> print t, u, v, w
oui 34 non 59
On doit fournir exactement le nombre de données voulues à la saisie.
Exemple : Programme qui saisit 2 entiers et affiche leur quotient.
>>> # Ce programme saisit deux valeurs entières au clavier,
>>> # calcule le quotient et
>>> # affiche le résultat.
>>>
>>> m, n = input("Entrez 2 valeurs entières au clavier :")
Entrez 2 valeurs entières au clavier :34, 6
>>> resultat = m / n
>>> print "Le quotient de ", m, " par ", n, " est : ", resultat
Le quotient de 34 par 6 est : 5
>>>
FSB 2019-2020
12
6
21/02/2020
Principaux types de données
Python est un language à typage dynamique, ce qui signifie qu’il n’est pas
nécessaire de déclarer les variables avant de pouvoir leur affecter une valeur. La
valeur que l’on affecte possède un type qui dépend de la nature des données
(nombre entier, nombre à virgule, chaîne de caractères, etc). Le type du contenu
d’une variable peut donc changer si on change sa valeur.
La fonction type()
Pour connaître le type d’une donnée ou le type de la valeur d’une variable, il suffit
d’utiliser la fonction type().
FSB 2019-2020
Le type int (entier)
Ce type est utilisé pour stocker un entier, en anglais integer.
Pour cette raison, on appelle ce type int.
Le type float (flottant)
Ce type est utilisé pour stocker des nombres à virgule flottante, désignés en anglais
par l’expression floating point numbers. Pour cette raison, on appelle ce type : float.
En français, on parle de flottant.
FSB 2019-2020
7
21/02/2020
Le type str (chaîne de caractères)
Sous Python, une donnée de type str est une suite quelconque de caractères délimitée
soit par des apostrophes (simple quotes), soit par des guillemets (double quotes). str est
l’abréviation de string, qui veut dire chaîne en français.
Le type bool (booléen)
Le type bool est utilisé pour les booléens. Un booléen peut prendre les valeurs True ou False.
Remarque : la fonction not est un opérateur logique qui renvoie l’opposé de la valeur booléenne
transmise. Pour True, on obtient False. Réciproquement, il renvoie False quand on lui
transmet True.
FSB 2019-2020
Le type list (liste)
Sous Python, on peut définir une liste comme une collection d’éléments séparés par des virgules,
l’ensemble étant enfermé dans des crochets.
Le type complex (complexe)
Python posséde par défaut un type pour manipuler les nombres complexes. La partie imaginaire est
indiquée grâce à la lettre « j » ou « J ». La lettre mathématique utilisée habituellement, le « i », n’est
pas utilisée en Python car la variable i est souvent utilisée dans les boucles.
FSB 2019-2020