locals()
是一个内置函数,用于返回当前局部作用域的字典。这个字典包含了当前函数或模块中所有局部变量的名称和值。具体来说:
locals()
- 返回值:一个字典,包含了当前局部作用域的所有局部变量。
这个函数在不同的上下文中有不同的用途:
1.在函数内部:locals()
返回当前函数的局部变量字典。
def example_function():
x = 10
y = 20
local_vars = locals()
print(local_vars)
example_function()
在这个例子中,local_vars
将包含函数内部的局部变量 x
和 y
。
2.在模块层级:在模块层级调用 locals()
时,它返回当前模块的全局变量字典。
x = 100
y = 200
global_vars = locals()
print(global_vars)
-
在这个例子中,
global_vars
将包含模块层级的全局变量x
和y
。
需要注意的是,locals()
返回的字典是动态的,它会随着程序的执行而变化。修改这个字典中的值将直接影响对应的变量。因此,对 locals()
的结果进行修改并不是一个良好的实践,因为这可能导致意料之外的行为。
总体而言,locals()
可以用于获取当前局部作用域的变量,但在实际编程中,更常见的是直接使用变量名来获取局部变量的值。