Función Python locals()
Funciones incorporadas de Python3
locals()Es una función incorporada en Python que se utiliza para devolver el diccionario de variables locales del ámbito actual.
locals()Devuelve un diccionario que contiene todas las variables del ámbito local actual. El contenido de este diccionario es una instantánea del entorno de ejecución actual de la función.
Definiciones de términos: locals 意为"本地的",表示局部作用域中的变量。
Sintaxis básica y parámetros
Formato de sintaxis
locals()
Descripción de parámetros
- Sin parámetros
Descripción de la función
- Valor de retorno: Devuelve un diccionario que contiene las variables del ámbito local actual.
- Nota: Cuando se llama a nivel de módulo, devuelve el contenido de globals().
Ejemplo
Ejemplo 1: usarlo dentro de una función
Ejemplo
a = 10
b = "hello"
c = [1, 2, 3]
# Obtener variables locales
local_vars = locals()
print(local_vars)
# Salida: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
# Acceder a una variable específica
print(local_vars['a']) # Salida: 10
my_function()
Resultado esperado:
{'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
10
Explicación del código:
- locals() devuelve las variables locales dentro de la función.
Ejemplo 2: operación dinámica de variables
Ejemplo
x = 1
y = 2
# Ver variables locales
vars = locals()
print(f"Variables locales: {vars}")
# Agregar nueva variable (no recomendado)
vars['z'] = 3
print(f"Después de agregar: {z}") # Se puede acceder, pero no dependas de esto
test()
Resultado de la ejecución:
locals() devuelve una copia del diccionario; modificarlo no cambia las variables locales reales.
Ejemplo 3: a nivel de módulo
Ejemplo
global_var = 100
# Ver variables globales
print(len(locals())) # Contiene todas las variables globales
print('global_var' in locals()) # Salida: True
# Contiene funciones integradas y módulos importados
import math
print('math' in locals()) # Salida: True
Resultado de la ejecución:
Cuando se usa a nivel de módulo, locals() y globals() devuelven el mismo contenido.
locals()Se utiliza principalmente para depuración y análisis dinámico de código.
Funciones incorporadas de Python3
Otras extensiones