Locaux Python ()

La méthode locals () met à jour et renvoie un dictionnaire de la table de symboles locale actuelle.

Une table de symboles est une structure de données maintenue par un compilateur qui contient toutes les informations nécessaires sur le programme.

Ceux-ci incluent les noms de variables, les méthodes, les classes, etc.

Il existe principalement deux types de table de symboles.

  1. Tableau des symboles globaux
  2. Table des symboles locaux

Une table de symboles globale stocke toutes les informations relatives à la portée globale du programme et est accessible en Python à l'aide de la méthode globals ().

La portée globale contient toutes les fonctions, variables qui ne sont associées à aucune classe ou fonction.

De même, la table des symboles locaux stocke toutes les informations relatives à la portée locale du programme et est accessible en Python à l'aide de locals()method.

La portée locale peut être dans une fonction, dans une classe, etc.

Lecture recommandée: espace de noms et portée de en Python

Syntaxe des locaux ()

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

 des locaux()

paramètres locaux ()

locals() La méthode ne prend aucun paramètre.

Valeur de retour des locaux ()

locals() met à jour et renvoie le dictionnaire associé à la table de symboles locale actuelle.

Exemple 1: Comment fonctionne locals () en Python?

 locals()

Production

 ('In': ('', 'locaux ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' locaux () ',' _ih ': (' ', 'locals ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'quit':) 

Remarque: globals() et la locals()table des symboles pour l'environnement global est la même.

Exemple 2: Comment fonctionne local () dans une portée locale?

 def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())

Production

 locauxNotPresent: () locauxPresent: ('present': True) 

Exemple 3: mise à jour des valeurs du dictionnaire local ()

 def localsPresent(): present = True print(present) locals()('present') = False; print(present) localsPresent()

Production

 Vrai vrai 

Contrairement au globals()dictionnaire qui reflète la modification de la table globale réelle, le locals()dictionnaire ne peut pas modifier les informations contenues dans la table des locals.

Articles intéressants...