Comprendre la portée des variables globales en python

Understand Global Variables Scope Python



Deux types de variables peuvent être définis dans la plupart des langages de programmation. Ce sont des variables globales et des variables locales. Les variables définies en dehors de la fonction sont appelées variables globales. Cette variable est accessible et modifiable de n'importe où dans le script. La variable qui est déclarée à l'intérieur de la fonction est appelée la variable locale. Mais si le même nom de variable existe en tant que variables globales et locales, la variable à l'intérieur de la fonction aura la priorité et la valeur de la variable globale sera ignorée. La portée de la variable globale dans le script python est illustrée dans ce didacticiel à l'aide de divers exemples.

Exemple-1 : Utilisation simple d'une variable globale

L'exemple suivant montre l'utilisation simple d'une variable globale à l'intérieur et à l'extérieur de la fonction. Ici, une variable globale nommée texte est utilisé pour affecter une chaîne de données. Une fonction personnalisée nommée printMessage() est défini pour imprimer la valeur de la variable globale. La valeur de la texte La variable est imprimée à l'intérieur de la fonction et à l'extérieur de la fonction après avoir modifié la valeur.







#!/usr/bin/env python3

# Définir une variable globale
texte= 'Bienvenue sur LinuxHint'

# Définir une fonction
défprintMessage():

# Affiche la variable globale de la fonction
imprimer('Variable globale à l'intérieur de la fonction : ',texte)

# Appeler la fonction
printMessage()

# Changer la valeur de la variable globale
texte= « Apprendre la programmation Python »

# Affiche la valeur actuelle de la variable globale
imprimer('Variable globale en dehors de la fonction : ',texte)

Sortir:



La sortie suivante apparaîtra après l'exécution du script. Il a imprimé la valeur, ' Bienvenue sur LinuxHint' qui est affecté à la variable avant d'appeler la fonction. Ensuite, il a imprimé la valeur, « Apprendre la programmation Python » après avoir changé la valeur de la variable.







Exemple-2 : Utilisation de variables globales et locales portant le même nom

Si vous souhaitez déclarer un nom de variable dans une fonction qui est déjà déclarée en tant que variable globale auparavant en python et souhaitez utiliser la variable, elle traitera la variable comme une variable locale et générera une erreur. Le script suivant affichera l'erreur. Ici, le texte variable est définie comme une variable globale et locale.

#!/usr/bin/env python3

# Définir une variable globale
texte= 'J'aime Python'

# Définir une fonction
défprintMessage():
imprimer(texte)

texte= 'J'aime PHP'

# Appeler la fonction
printMessage()

Sortir:



La sortie suivante apparaîtra après l'exécution du script.

Pour éviter la situation ci-dessus et si vous souhaitez déclarer une variable locale avec le même nom qu'une variable globale, vous devez d'abord affecter la variable locale à l'intérieur de la fonction. Le script suivant montre que les modifications de la variable locale n'apportent aucune modification à la variable globale. texte variable est imprimée à l'intérieur et à l'extérieur de la fonction ici.

#!/usr/bin/env python3

# Définir une variable globale
texte= 'J'aime Python'

# Définir une fonction
défprintMessage():
# Détermination de la valeur locale
texte= 'J'aime PHP'
# Affiche la variable locale,texte
imprimer('La valeur de 'text' à l'intérieur de la fonction : ',texte)

# Appeler la fonction
printMessage()

# Affiche la variable globale, texte
imprimer('La valeur de 'text' en dehors de la fonction : ',texte)

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Exemple-3 : Utilisation d'une variable globale à l'intérieur de la fonction

L'exemple précédent montre que la variable globale n'est pas accessible à l'intérieur d'une fonction. Vous pouvez utiliser le Global mot-clé pour accéder à une variable globale à partir de n'importe quelle fonction. Dans le script suivant, pourcentage_cal() La fonction est définie pour calculer le pourcentage de n'importe quel nombre où des variables globales et locales sont utilisées. Ici, sur une est une variable globale, et perVal est une variable locale. global Le mot clé est utilisé ici pour identifier la variable globale à l'intérieur de la fonction et la valeur de la variable globale est modifiée à l'intérieur de la fonction.

#!/usr/bin/env python3

# Prendre une valeur entière
sur une= entier(saisir('Entrez un numéro :'))

# Définir la fonction
défpourcentage_cal():
# Reconnaître la variable globale en utilisant le mot clé global
globalsur une

# Prendre une valeur entière en pourcentage
perVal= entier(saisir('Entrez la valeur en pourcentage : '))

# Calculer la valeur en pourcentage
résultat= flotter((si *perVal)/100)

# Imprimer le résultat formaté
imprimer('%d pourcentage de %d = %f'%(perVal,sur une,résultat))

# Changer la valeur de la variable globale
sur une= 500

# Affiche la valeur de la variable globale avant d'appeler la fonction
imprimer(' La valeur de num = %d'%sur une)

# Appeler la fonction
pourcentage_cal()

# Affiche la valeur de la variable globale après l'appel de la fonction
imprimer(' La valeur de num = %d'%sur une)

Sortir:

La sortie suivante apparaîtra après l'exécution du script. Ici, 10 % de 350 sont calculés et imprimés.

Exemple-4 : Utilisation de variables globales d'un autre script

L'exemple suivant montre comment la variable globale déclarée dans un script peut être utilisée dans un autre script. Supposons que le nom de fichier soit global6.py qui utilisera les variables globales définies dans le fichier nommé global5.py . Trois variables globales sont déclarées dans global5.py . Vous devez importer global5 pour utiliser les variables dans un autre script. Le scénario de global6.py calculera le salaire de trois types d'employés en fonction des valeurs d'entrée et des variables globales.

#!/usr/bin/env python3
# c'est le fichier global5.py

# Structure salariale de base d'une entreprise
De base= 5000
Médical= 500
Transport= 500 #!/usr/bin/env python3
# c'est le fichier global6.py

# Importez les variables globales de global5.py
importerglobal5

# Prendre le nom de l'employé
Nom= saisir(« Entrez le nom de l'employé : »)
# Prendre le nom du poste
Publier= saisir(« Entrez le message : »)

# Initialiser la variable d'erreur
Erreur= Faux

# Vérifiez le poste et fixez le salaire de base en fonction du poste
si(Publier.supérieur() == 'PDG'):
de base=mondial5.De base+(mondial5.De base*0,4)
elif(Publier.supérieur() == 'DIRECTEUR'):
de base=mondial5.De base+(mondial5.De base*0,25)
elif(Publier.supérieur() == 'COMPTABLE'):
de base=mondial5.De base+(mondial5.De base*0,15)
autre:
# Définir l'erreur sur true si la valeur de publication n'est pas trouvée
Erreur= Vrai

# Imprimer le salaire si l'erreur est flase
si (Erreur== Faux):
un salaire=basique + global5.Médical+ global5.Transport
imprimer('Le salaire de %s est %d'%(Nom,un salaire))
autre:
imprimer('Le message n'est pas trouvé')

Sortir:

La sortie suivante apparaîtra après l'exécution du script. Ici, le script est exécuté deux fois avec une publication valide et une publication invalide.

Conclusion:

Le concept de variable globale en python est expliqué dans ce tutoriel avec les différents exemples simples pour les nouveaux utilisateurs de python. J'espère que les lecteurs auront une bonne connaissance des variables globales ainsi que des variables locales après avoir lu ce tutoriel.

Regardez la vidéo de l'auteur : ici