PTSI2 – 2016/2017 – Info Lycée La Martinière-Monplaisir – Lyon
Ch 2. La variable informatique.
La notion de variable est fondamentale en informatique. C’est avec Python que l’on va aborder son
étude.
1 Introduction
Après avoir ouvert IDLE, on peut utiliser Python en mode interactif : on entre une commande, on
attend la réponse et on recommence. Cela se passe un peu comme avec une calculatrice. Dans ce mode,
on entre une instruction après le symbole >>> appelé prompt ou invite de commande.
Python shell
>>> x = 2014
Que s’est-il passé au juste ? Python ne répond rien ! Cependant, lorsque l’on demande après :
Python shell
>>> x
2014
>>> type(x)
<type ’int’>
Voilà ce qu’il se passe :
Python prend une case mémoire, il y stocke la valeur 2014, et il met l’étiquette "x" dessus.
Affecter une variable, c’est établir un lien entre l’identificateur (l’étiquette, le nom de la variable) et
sa valeur.
x
2014
1
On peut ensuite lire la valeur stockée dans la variable et évaluer ainsi des expressions utilisant cette
variable :
Python shell
>>> x * (x + 1) * (x + 2)
8181351360
L’identificateur xest remplacé par la valeur de la variable à cet instant précis (la valeur de la variable
pouvant changer au cours du temps).
2 Syntaxe de l’affectation
La syntaxe formelle d’une affectation est donc la suivante :
étiquette = valeur
HLe membre de droite est évalué puis un lien est fait avec le membre de gauche qui constitue
l’identificateur. L’opérateur =n’a pas grand chose à voir avec le symbole mathématique d’égalité.
En particulier, il n’est pas symétrique : il doit y avoir à gauche un symbole où mémoriser le
résultat. Par exemple, l’instruction a=2est correcte alors que 2=ane l’est pas.
HLe choix du nom de variable est assez libre, mais il y a quelques règles :
Python distingue majuscules et minuscules
Les chiffres sont autorisés mais pas en premier caractère
Ne sont pas autorisés : les caractères spéciaux (&, #, ...), les espaces, les lettres accentuées
pour Python 2, certains mots "réservés" du langage Python (on peut citer print, if, for,
in, while, lambda...)...
Cependant le caractère « _ » est autorisé, et il est très utile lorsque l’on veut donner un nom
formé de plusieurs mots. Par exemple, une variable contenant la date de naissance d’un individu
pourra se nommer date_naissance.
De manière générale, il est souhaitable de choisir des noms de variables qui permettent de com-
prendre le rôle de la variable.
On peut tester l’égalité en Python avec l’opérateur ==, à ne pas confondre avec l’opérateur d’affectation
=:
Python shell
>>> x = 2
>>> x == 2
True
>>> x == 3
False
Pour Python, les valeurs « vrai » et « faux » sont respectivement représentées par les constantes True
et False. On parle de valeurs booléennes.
2
3 Réaffectation
On peut très bien changer la valeur de la variable x, mais dans ce cas l’ancienne valeur est perdue à
jamais (elle est "écrasée", le ramasse-miettes ou garbage collector de Python la supprime automati-
quement).
Python shell
>>> x = 600
>>> x
600
>>> x = ’hello’ # ceci est une chaîne de caractères
>>> x
’hello’
Notez que le caractère # permet de faire des commentaires qui ne seront pas pris en compte par
Python.
On peut schématiser ce qu’il s’est passé ainsi :
Remarque : Dans d’autres langages, les variables doivent être préalablement déclarées avec leur type.
Ce type, contrairement à ce qui se passe en Python est invariable. On dit qu’il est statique. Pour
Python, on parle de typage dynamique.
4 Mécanisme en mémoire
Lorsque l’on affecte une variable, plusieurs opérations sont réalisées dans la mémoire de l’ordinateur :
Hcréation et mémorisation d’un nom de variable
Hcréation et mémorisation d’une valeur particulière
Hétablissement d’un lien (par un système interne de pointeurs) entre le nom de la variable et
l’emplacement mémoire de la valeur correspondante
Il est important de retenir :
Une variable est une référence à une adresse mémoire.
Pour connaître l’adresse de la mémoire où se trouve la valeur que l’on a associée à un identificateur,
on utilise la fonction intégrée id.
3
Python shell
>>> x = 2014
>>> id(x)
38879152
L’adresse choisie dépend de l’ordinateur, ne pas s’attendre à obtenir la même adresse que sur l’ordina-
teur de son voisin !
Expliquer la réponse de Python dans l’exemple qui suit :
Python shell
>>> x = 1
>>> y = x
>>> x = 0
>>> y
1
Commentaire :
Étape 1
xy
10
Étape 2
xy
10
Étape 3
xy
10
Donc à la fin, xcontient 0et ycontient toujours 1.
4
Nous allons vérifier l’explication en utilisant la fonction id.
Python shell
>>> x = 1
>>> y = x
>>> id(x), id(y)
(507098784, 507098784)
>>> x = 0
>>> id(x), id(y)
(507098752, 507098784)
Pour ne pas se tromper, utiliser le vocabulaire suivant : "xpointe vers 1", ...
5 Incrémentation
Une opération très courante sera d’incrémenter une variable :
Python shell
>>> x = 12
>>> x = x + 1
Expliquer ce qu’il se passe.
- Python crée une case mémoire nommée xet lui donne la valeur 12.
- La ligne x=x+ 1 n’est pas une égalité mathématique, c’est à lire de droite à gauche.
on donne l’ordre à Python de prendre la valeur contenue dans la variable x, de lui ajouter 1, et de
mettre ce résultat comme nouvelle valeur de x
- la nouvelle valeur de xest donc 13.
Cette opération d’incrémentation est tellement courante qu’il existe en Python un "raccourci" : au lieu
de x=x+3on peut taper x += 3.
Il existe de même des raccourcis *=,-=,/=,//= .
5
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !