在Python中,要查询函数定义的变量,你可以使用`locals()`函数,它返回一个字典,包含当前局部符号表的字典,即在函数内部定义的所有局部变量及其值。下面是一个简单的例子:
def get_variable():
x = 10
variables = locals()
for key, value in variables.items():
print(f"{key} : {value}")
get_variable()
运行上述代码,你将看到如下输出:
x : 10
这表明在函数`get_variable`内部定义了一个变量`x`,并且它的值为10。
另外,你还可以使用`dir()`函数来查看函数内部定义的所有变量名,包括内置变量和用户定义的变量。`dir()`函数返回一个包含对象所有属性和方法的列表。
def get_variable():
x = 10
print(dir())
get_variable()
运行上述代码,你将看到一个包含函数内部所有变量和方法的列表,例如:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__qualname__', '__slots__', 'x']
这里`x`就是我们在函数内部定义的变量。
需要注意的是,`locals()`和`dir()`只能查看函数内部的局部变量,无法查看全局变量。如果你想查看全局变量,可以使用`globals()`函数,它返回一个字典,包含当前的全局符号表的字典。
def get_variable():
global y
y = 20
print(globals())
get_variable()
运行上述代码,你将看到一个包含全局变量和函数内部局部变量的字典,例如:
{'__builtins__':
, '__doc__': None, '__file__': '
', '__name__': '__main__', '__package__': None, '__qualname__': '__main__', '__slots__': (), 'y': 20, 'get_variable':
}
这里`y`就是我们在函数外部定义的全局变量,而`get_variable`是函数本身