Recherche de site Web

Variable globale en Python - Variables Python non locales


En Python et dans la plupart des langages de programmation, les variables déclarées en dehors d'une fonction sont appelées variables globales. Vous pouvez accéder à ces variables à l’intérieur et à l’extérieur d’une fonction, car elles ont une portée globale.

Voici un exemple de variable globale :

x = 10 

def showX():
    print("The value of x is", x)
    
showX()
# The value of x is 10

La variable x dans le code ci-dessus a été déclarée en dehors d'une fonction : x=10.

En utilisant la fonction showX(), nous avons toujours pu accéder à x car il était déclaré dans une portée globale.

Jetons un coup d'œil à un autre exemple qui montre ce qui se passe lorsque nous déclarons une variable dans une fonction et essayons d'y accéder ailleurs.

def X():
    x = 10 

X()

def showX():
    print("The value of x is", x)
    
showX()
NameError: name 'x' is not defined

Dans l'exemple ci-dessus, nous avons déclaré x dans une fonction et essayé d'y accéder dans une autre fonction. Cela a entraîné une NameError car x n'a pas été défini globalement.

Les variables définies à l'intérieur des fonctions sont appelées variables locales. Leur valeur ne peut être utilisée que dans la fonction où elles sont déclarées.

Vous pouvez modifier la portée d'une variable locale à l'aide du mot-clé global - dont nous parlerons dans la section suivante.

À quoi sert le mot clé global en Python ?

Le mot-clé global est principalement utilisé pour deux raisons :

  • Pour modifier la valeur d'une variable globale.
  • Rendre une variable locale accessible en dehors de la portée locale.

Examinons quelques exemples pour chaque scénario pour vous aider à mieux comprendre.

Exemple n°1 - Modification d'une variable globale à l'aide du mot-clé global

Dans la dernière section où nous avons déclaré une variable globale, nous n'avons pas essayé de modifier la valeur de la variable. Tout ce que nous avons fait, c'est accéder et imprimer sa valeur dans une fonction.

Essayons de changer la valeur d'une variable globale et voyons ce qui se passe :

x = 10 

def showX():
    x = x + 2
    print("The value of x is", x)
    
showX()
# local variable 'x' referenced before assignment

Comme vous pouvez le voir ci-dessus, lorsque nous avons essayé d'ajouter 2 à la valeur de x, nous avons obtenu une erreur. En effet, nous ne pouvons accéder qu'à x, mais pas le modifier.

Pour résoudre ce problème, nous utilisons la variable global. Voici comment:

x = 10 

def showX():
    global x
    x = x + 2
    print("The value of x is", x)
    
showX()
# The value of x is 12

En utilisant le mot-clé global dans le code ci-dessus, nous avons pu modifier x et ajouter 2 à sa valeur initiale.

Exemple n ° 2 - Comment rendre une variable locale accessible en dehors de la portée locale à l'aide du mot clé global

Lorsque nous créions une variable dans une fonction, il n'était pas possible d'utiliser sa valeur dans une autre fonction car le compilateur ne reconnaissait pas la variable.

Voici comment résoudre ce problème à l'aide du mot-clé global :

def X():
    global x
    x = 10 
    
X()
    
def showX():
    print("The value of x is", x)
    
showX()
# The value of x is 10

Pour permettre à x d'être accessible en dehors de sa portée locale, nous l'avons déclaré à l'aide du mot-clé global : global x.

Après cela, nous avons attribué une valeur à x. Nous avons ensuite appelé la fonction que nous avons utilisée pour le déclarer : X()

Lorsque nous avons appelé la fonction showX(), qui imprime la valeur de x déclarée dans la fonction X(), nous n'avons pas eu d'erreur parce que x a une portée globale.

Résumé

Dans cet article, nous avons parlé des variables globales et locales en Python.

Les exemples ont montré comment déclarer des variables globales et locales.

Nous avons également parlé du mot-clé global qui permet de modifier la valeur d'une variable globale ou de rendre une variable locale accessible en dehors de sa portée.

Bon codage !

Articles connexes