Maison  >  Article  >  développement back-end  >  En Python, la fonction globals() renvoie un dictionnaire de toutes les variables et fonctions définies dans la portée globale actuelle.

En Python, la fonction globals() renvoie un dictionnaire de toutes les variables et fonctions définies dans la portée globale actuelle.

WBOY
WBOYavant
2023-08-27 21:25:06876parcourir

En Python, la fonction globals() renvoie un dictionnaire de toutes les variables et fonctions définies dans la portée globale actuelle.

En Python, chaque programme possède une table de symboles qui contient des informations sur les noms (variables, fonctions et classes) définis dans le programme. La fonction global() nous permet d'accéder et de manipuler la table des symboles globaux, fournissant des informations précieuses sur les variables globales actuelles du programme. Dans cet article, nous apprendrons comment fonctionnent ces fonctions globals() et ce que nous pouvons faire avec cette fonction en Python.

Présentation de la fonction globals()

En Python, chaque programme possède une table de symboles, qui contient des informations sur les noms (variables, fonctions, classes, etc.) définis dans le programme. Une table de symboles est représentée par un dictionnaire, où les noms sont des clés et les valeurs associées représentent leurs valeurs ou références actuelles.

La fonction

globals() renvoie un dictionnaire représentant la table des symboles globaux actuelle. Il donne accès à toutes les variables globales de la portée actuelle et à leurs valeurs correspondantes. En inspectant ce dictionnaire, nous pouvons récupérer, modifier ou supprimer par programme des variables globales.

Grammaire

globals()

Ici, la fonction globals() n'accepte aucun paramètre, elle renvoie simplement un dictionnaire représentant la table des symboles globaux.

Récupérer les variables globales

La récupération de variables globales en Python peut être effectuée à l'aide de la fonction globals(), qui renvoie un dictionnaire représentant la table des symboles globaux actuelle. En accédant à ce dictionnaire et en itérant ses éléments, vous pouvez récupérer les noms et les valeurs de toutes les variables globales dans la portée actuelle.

Exemple

Dans l'exemple ci-dessous, nous définissons trois variables globales : x, y et z. Nous définissons également une fonction print_globals() qui appelle la fonction globals() pour récupérer la table des symboles globaux. En parcourant les éléments du dictionnaire résultant, nous imprimons les noms et les valeurs de toutes les variables globales. De plus, nous pouvons voir que la fonction print_globals() elle-même existe dans la table des symboles globaux.

x = 10
y = 5
z = "Hello, World!"

def print_globals():
    global_vars = globals()
    for name, value in global_vars.items():
        print(f"{name}: {value}")

print_globals()

Sortie

__name__: __main__
__doc__: None
__package__: None
__loader__: <_frozen_importlib_external.SourceFileLoader object at 0x7f9b30a74a30>
__spec__: None
__annotations__: {}
__builtins__: <module 'builtins' (built-in)>
__file__: /home/cg/root/22219/main.py
__cached__: None
x: 10
y: 5
z: Hello, World!
print_globals: <function print_globals at 0x7f9b30c13d90>

Modifier les variables globales

La fonction

globals() nous permet non seulement de récupérer des variables globales, mais nous permet également de modifier leurs valeurs.

Exemple

Dans l'exemple ci-dessous, nous définissons une variable globale x avec une valeur initiale de 10. La fonction modifier_global() utilise globals() pour récupérer la table des symboles globaux et modifie la valeur de x à 20 en mettant directement à jour l'entrée du dictionnaire. Lorsque nous imprimons la valeur de x avant et après avoir appelé la fonction modifier_global(), nous pouvons voir que la modification a pris effet.

x = 10

def modify_global():
    global_vars = globals()
    global_vars['x'] = 20

print("Before modification:", x)
modify_global()
print("After modification:", x)

Sortie

Before modification: 10
After modification: 20

Ajouter une nouvelle variable globale

Nous pouvons également utiliser la fonction globals() pour ajouter dynamiquement de nouvelles variables globales. Regardons un exemple qui démontre la même chose.

Exemple

Dans l'exemple ci-dessous, nous définissons une fonction add_global() qui utilise globals() pour ajouter une nouvelle variable globale nommée new_var à la table des symboles globaux. Après avoir appelé la fonction, nous imprimons la valeur de new_var, qui confirme que la variable a été ajoutée avec succès et est globalement accessible.

def add_global():
    global_vars = globals()
    global_vars['new_var'] = "I'm a new global variable!"

add_global()
print(new_var)

Sortie

I'm a new global variable!

Conclusion

Dans cet article, nous avons expliqué ce qu'est la fonction globals() et à quoi elle sert. La fonction globals() est utilisée pour accéder et utiliser les variables globales dans le programme. En utilisant cette fonction, nous pouvons récupérer, modifier ou ajouter dynamiquement des variables globales. En utilisant la puissance de la fonction globals(), vous pouvez améliorer vos compétences en programmation Python en vous donnant un meilleur contrôle sur les variables globales de votre programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer