Función globals() de Python
Funciones integradas de Python3
globals()Es una función integrada de Python que se utiliza para devolver el diccionario de variables del ámbito global actual.
globals()Devuelve un diccionario que contiene todas las variables globales del módulo actual. Este diccionario incluye todos los módulos importados, las funciones definidas, las clases y las variables globales.
Definición de palabras: globals 意为"全局的",表示全局作用域中的变量。
Sintaxis básica y parámetros
Formato de sintaxis
globals()
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 global.
Ejemplos
Ejemplo 1: Ver variables globales
Ejemplo
# Definir algunas variables globales
global_var = 100
global_list = [1, 2, 3]
import math
import os
# Obtener el diccionario de variables globales
g = globals()
print(f"Cantidad de variables: {len(g)}")
# Ver una variable específica
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# Comprobar si la variable existe
print('global_var' in g) # Salida: True
print('unknown' in g) # Salida: False
global_var = 100
global_list = [1, 2, 3]
import math
import os
# Obtener el diccionario de variables globales
g = globals()
print(f"Cantidad de variables: {len(g)}")
# Ver una variable específica
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# Comprobar si la variable existe
print('global_var' in g) # Salida: True
print('unknown' in g) # Salida: False
Resultado esperado de la ejecución:
变量数量: ... global_var: 100 math: <module 'math'> os: <module 'os'> True False
Análisis del código:
- globals() devuelve todas las variables globales del módulo actual.
- Incluye módulos importados, funciones, clases, etc.
Ejemplo 2: Manipular dinámicamente variables globales
Ejemplo
# Crear dinámicamente variables globales
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # Salida: Hello
# Crear variables en lote
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # Salida: 0 10 20
# Usar globals() dentro de una función
def test():
g = globals()
g['x'] = 999
print(f"Dentro de la función: x = {x}")
test()
print(f"Fuera de la función: x = {x}") # Salida: x = 999
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # Salida: Hello
# Crear variables en lote
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # Salida: 0 10 20
# Usar globals() dentro de una función
def test():
g = globals()
g['x'] = 999
print(f"Dentro de la función: x = {x}")
test()
print(f"Fuera de la función: x = {x}") # Salida: x = 999
Resultado esperado de la ejecución:
Hello 0 10 20 在函数中: x = 999 在函数外: x = 999
Se pueden modificar dinámicamente las variables globales, pero normalmente no se recomienda hacerlo.
globals()Se utiliza principalmente para depuración y programación dinámica.
Funciones integradas de Python3
Otras extensiones