在Python中,globals() 函数返回一个字典,表示当前全局符号表。这个符号表始终针对当前模块,包含了可以在程序的全局作用域内访问的所有变量和函数。
使用 globals() 可以做到以下几点:
1. 实现反射(Reflection):可以用来实现一些高级编程技巧,如动态函数调用等。
def greet():
print("Hello, World!")
func_name = "greet"
globals()[func_name]() # 调用 greet 函数,输出 Hello, World!
2. 动态地操作变量:可以在运行时动态地创建、修改或删除全局变量。
globals()['new_var'] = 'Hello World'
print(new_var) # 输出 Hello World
3. 访问全局变量:可以通过 globals() 来读取或者修改全局作用域中的变量。
x = 10
print(globals()['x']) # 输出 10
4. 修改全局变量:即使在一个局部作用域内,也可以通过 globals() 修改全局变量的值。
def update_x():
globals()['x'] = 20
update_x()
print(x) # 输出 20