Locales de Python ()

El método locals () actualiza y devuelve un diccionario de la tabla de símbolos local actual.

Una tabla de símbolos es una estructura de datos mantenida por un compilador que contiene toda la información necesaria sobre el programa.

Estos incluyen nombres de variables, métodos, clases, etc.

Existen principalmente dos tipos de tablas de símbolos.

  1. Tabla de símbolos global
  2. Tabla de símbolos locales

Una tabla de símbolos globales almacena toda la información relacionada con el alcance global del programa y se accede a ella en Python mediante el método globals ().

El ámbito global contiene todas las funciones, variables que no están asociadas con ninguna clase o función.

Asimismo, la tabla de símbolos locales almacena toda la información relacionada con el alcance local del programa y se accede en Python mediante el locals()método.

El ámbito local podría estar dentro de una función, dentro de una clase, etc.

Lectura recomendada: espacio de nombres y alcance de en Python

Sintaxis de locales ()

La sintaxis del locals()método es:

 lugareños ()

Parámetros de locals ()

locals() El método no toma ningún parámetro.

Valor de retorno de los lugareños ()

locals() El método actualiza y devuelve el diccionario asociado con la tabla de símbolos local actual.

Ejemplo 1: ¿Cómo funciona locals () en Python?

 locals()

Salida

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

Nota: globals() y la locals()tabla de símbolos para el entorno global es la misma.

Ejemplo 2: ¿Cómo funciona locals () dentro de un ámbito local?

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

Salida

 localsNotPresent: () localsPresent: ('presente': Verdadero) 

Ejemplo 3: actualizar los valores del diccionario locals ()

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

Salida

 Verdad verdad 

A diferencia del globals()diccionario que refleja el cambio a la tabla global real, el locals()diccionario no puede cambiar la información dentro de la tabla local.

Articulos interesantes...