Résumé 18 - PORTÉE DES VARIABLES LOCALES
Lien vers l'activité : Portée des variables locales
Dernière modif. : 29 01 2022
6.1 Espace des noms
En informatique, une variable est en réalité un alias vers une adresse-mémoire.
Lorsqu'on utilise une variable dans un programme, l'interpréteur va donc aller lire ce qui est contenu à l'identifiant correspondant.
Python ne donne pas directement accès à l'adresse-mémoire réelle mais on peut obtenir un identifiant mémoire à l'aide de la fonction native id. Par exemple, on accède à l'identifiant Python d'une variable a
avec id(a)
.
Si deux variables ont le même identifiant dans Python, c'est qu'elles font bien référence au même contenu-mémoire. Elles sont deux alias vers le même contenu.
6.2 - Portée des variables locales
Variable locale : variable dont l'affectation est faite dans la fonction. Dans l'exemple ci-dessous, mot et nombre_caracteres sont des variables locales.
1
2
3 | def compter_lettres() :
mot = 'bonjour' # Variable locale
nombre_caracteres = len(mot) # Variable locale
|
Durée d'existence : une variable locale est détruite lorsqu'on sort de la fonction.
Portée : on ne peut ni lire ni modifier une variable locale en dehors de la fonction elle-même.
Espace des noms : deux fonctions peuvent contenir les mêmes noms de variables sans aucun problème : l'interpréteur les traite comme des variables différentes graçe à l'espace des noms.
1
2
3
4
5
6
7
8
9
10
11
12
13 |
|
Ici, il n'y a pas de probème avec le fait que les deux fonctions utilisent des variables ayant le même nom. Chaque fonction n'a accès qu'aux variables qu'elles contiennent. Il ne peut donc pas y avoir de confusion, à part pour un humain qui n'aurait pas compris ce principe. La notion de portée est donc fondamentale à comprendre et savoir appliquer.