La portée d'une variable est l'endroit du programme où on peut accéder à la variable.
Observons le script suivant :
a = 10 # variable globale au programme
def mafonction():
a = 20 # variable locale à la fonction
print(a)
return
>>> print(a) # nous sommmes dans l'espace global du programme
>>> mafonction() # nous sommes dans l'espace local de la fonction
>>> print(a) # de retour dans l'espace global
Nous avons deux variables différentes qui portent le même nom a
Une variable a de valeur 20 est créée dans la fonction : c'est une variable locale à la fonction.
Elle est détruite dès que l'on sort de la fonction.
L'instruction global rend une variable globale :
a = 10 # variable globale
def mafonction():
global a # la variable est maintenant globale
a = 20
print(a)
return
>>> print(a)
>>> mafonction()
>>> print(a)
Remarque : il est préférable d'éviter l'utilisation de l'instruction global car c'est une source d'erreurs (on peut ainsi modifier le contenu d'une variable globale en croyant agir sur une variable locale).
La sagesse recommande donc de suivre la règle suivante :
Créé avec HelpNDoc Personal Edition: Environnement de création d'aide complet