Portée Python
- Page précédente Iteration Python
- Page suivante Modules Python
Les variables ne sont disponibles que dans la zone de création. Cela s'appelle la portée.
Portée locale
Les variables créées à l'intérieur d'une fonction appartiennent à la portée locale de cette fonction et ne peuvent être utilisées qu'à l'intérieur de cette fonction.
Exemple
Les variables créées à l'intérieur d'une fonction sont disponibles à l'intérieur de cette fonction :
def myfunc(): x = 100 print(x) myfunc()
Fonction à l'intérieur d'une fonction
Comme dans l'exemple ci-dessus, la variable x n'est pas disponible à l'extérieur de la fonction, mais est disponible pour toutes les fonctions à l'intérieur de la fonction :
Exemple
Il est possible d'accéder à une variable locale à l'intérieur d'une fonction depuis une autre fonction :
def myfunc(): x = 100 def myinnerfunc(): print(x) myinnerfunc() myfunc()
Portée globale
Les variables créées dans le corps du code Python sont des variables globales, appartenant à l'aire d'action globale.
Les variables globales sont disponibles dans toutes les portées (globale et locale).
Exemple
Les variables créées à l'extérieur d'une fonction sont des variables globales, accessibles à tout le monde :
x = 100 def myfunc(): print(x) myfunc() print(x)
Nommer une variable
Si vous opérez sur des variables homonymes à l'intérieur et à l'extérieur d'une fonction, Python les considère comme deux variables distinctes, l'une disponible dans la portée globale (à l'extérieur de la fonction) et l'autre disponible dans la portée locale (à l'intérieur de la fonction) :
Exemple
Cette fonction affichera la variable locale x, puis le code affichera également la variable globale x :
x = 100 def myfunc(): x = 200 print(x) myfunc() print(x)
Mot-clé global
Si vous avez besoin de créer une variable globale mais êtes bloqué dans une portée locale, vous pouvez utiliser le mot-clé global.
Le mot-clé global rend une variable variable globale.
Exemple
Si vous utilisez le mot-clé global, la variable appartient à la portée globale :
def myfunc(): global x x = 100 myfunc() print(x)
De plus, si vous devez modifier une variable globale à l'intérieur d'une fonction, utilisez également le mot-clé global.
Exemple
Pour modifier la valeur d'une variable globale à l'intérieur d'une fonction, utilisez le mot-clé global pour faire référence à cette variable :
x = 100 def myfunc(): global x x = 200 myfunc() print(x)
- Page précédente Iteration Python
- Page suivante Modules Python