English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La méthode locals() met à jour et renvoie le dictionnaire du tableau des symboles local actuel.
Le tableau des symboles est une structure de données maintenue par le compilateur, qui contient toutes les informations nécessaires au programme.
Ces derniers incluent les noms de variables, les méthodes, les classes, etc.
Il y a principalement deux types de tableaux des symboles.
Tableau des symboles global
Tableau des symboles local
UnGlobal Le tableau des symboles stocke toutes les informations du domaine global du programme et utilise Python pour y accéder.globals()Méthode.
La portée globale contient toutes les fonctions, et les variables non associées à aucune classe ou fonction.
De même,Local Le tableau des symboles stocke toutes les informations liées à la portée locale du programme et utilise la méthode locals() en Python pour y accéder.
Le domaine local peut être à l'intérieur d'une fonction, d'une classe, etc.
Lecture recommandée : L'espace des noms et la portée en Python
La syntaxe de la méthode locals() est la suivante :
locals()
La méthode locals() ne prend pas de paramètres.
La méthode locals() met à jour et renvoie le dictionnaire associé à la table des symboles locale actuelle.
locals()
When running the program, the output is:
{'In': ['', 'locals()'], 'Out': {}, '_': '', '__': '', '___': '', '__builtin__':, '__builtins__':, '__name__': '__main__', _dh: ['',/home/repl], _i: '', _i1: 'locals()', _ih: ['', 'locals()'], _ii: '', _iii: '', _oh: {}, _sh:, 'exit':, 'get_ipython':>, 'quit':}
Note:The globals() and locals() symbol tables in the global environment are the same.
def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())
When running the program, the output is:
localsNotPresent: {} localsPresent: {'present': True}
def localsPresent(): present = True print(present) locals()['present'] = False; print(present) localsPresent()
When running the program, the output is:
True True
Unlike the globals() dictionary (which reflects changes to the actual global table), the locals() dictionary may not change the information in the locals table.