English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle des flux Python

Fonctions en Python

Types de données en Python

Opérations de fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Utilisation et exemples de locals() en Python

Python built-in functions

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.

  1. Tableau des symboles global

  2. 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 locals()

La syntaxe de la méthode locals() est la suivante :

locals()

Paramètres locals()

La méthode locals() ne prend pas de paramètres.

Retour de la valeur locals()

La méthode locals() met à jour et renvoie le dictionnaire associé à la table des symboles locale actuelle.

Example1: How does locals() work in Python?

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.

Example2: How does locals() work in the local scope?

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}

Example3: update locals() dictionary value

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.

Python built-in functions