Portée Python
Une variable n'est disponible qu'à l'intérieur de la région où elle est créée. C'est ce qu'on appelle la portée .
Portée locale
Une variable créée à l'intérieur d'une fonction appartient à la portée locale de cette fonction et ne peut être utilisée qu'à l'intérieur de cette fonction.
Exemple
Une variable créée à l'intérieur d'une fonction est disponible à l'intérieur de cette fonction :
def myfunc():
x = 300
print(x)
myfunc()
Fonction Intérieur Fonction
Comme expliqué dans l'exemple ci-dessus, la variable x
n'est pas disponible en dehors de la fonction, mais elle est disponible pour toute fonction à l'intérieur de la fonction :
Exemple
La variable locale est accessible depuis une fonction dans la fonction :
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Portée mondiale
Une variable créée dans le corps principal du code Python est une variable globale et appartient à la portée globale.
Les variables globales sont disponibles dans n'importe quelle portée, globale et locale.
Exemple
Une variable créée en dehors d'une fonction est globale et peut être utilisée par n'importe qui :
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Nommer les variables
Si vous travaillez avec le même nom de variable à l'intérieur et à l'extérieur d'une fonction, Python les traitera comme deux variables distinctes, une disponible dans la portée globale (en dehors de la fonction) et une disponible dans la portée locale (à l'intérieur de la fonction) :
Exemple
La fonction imprimera le local x
, puis le code imprimera le global x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Mot-clé global
Si vous devez créer une variable globale, mais que vous êtes bloqué dans la portée locale, vous pouvez utiliser le
mot- global
clé.
Le global
mot clé rend la variable globale.
Exemple
Si vous utilisez le mot- global
clé, la variable appartient à la portée globale :
def myfunc():
global x
x = 300
myfunc()
print(x)
Utilisez également le global
mot-clé si vous souhaitez modifier une variable globale dans une fonction.
Exemple
Pour changer la valeur d'une variable globale à l'intérieur d'une fonction, faites référence à la variable en utilisant le mot- global
clé :
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)