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.
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 fonctionglobals() 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.
globals()
Ici, la fonction globals() n'accepte aucun paramètre, elle renvoie simplement un dictionnaire représentant la table des symboles globaux.
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.
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()
__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>
globals() nous permet non seulement de récupérer des variables globales, mais nous permet également de modifier leurs valeurs.
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)
Before modification: 10 After modification: 20
Nous pouvons également utiliser la fonction globals() pour ajouter dynamiquement de nouvelles variables globales. Regardons un exemple qui démontre la même chose.
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)
I'm a new global variable!
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!