Python如何获取函数内所有局部变量?如何隐式打印这些变量?
在Python函数中获取并打印所有局部变量的方法
嘿,这俩问题其实用Python内置的locals()函数就能轻松解决,我给你详细说说:
1. 获取函数内部的所有局部变量
在函数内部调用locals()函数,它会返回一个字典,里面包含了当前函数作用域内的所有局部变量——不管是传入的函数参数,还是你在函数里定义的变量,都会被收录其中。字典的键是变量名(字符串类型),对应的值就是变量的实际内容。
2. 无需逐个显式打印输出所有局部变量
当然有办法!利用locals()返回的字典,我们可以直接遍历它来批量输出所有变量,完全不用一个个写print(name)、print(city)这样的代码。
结合你的示例函数修改后的代码:
def some_function(a, b): name = 'mike' city = 'new york' # 获取所有局部变量的字典 local_variables = locals() # 遍历字典输出所有变量 print("函数内的所有局部变量:") for var_name, var_value in local_variables.items(): print(f"{var_name}: {var_value}") # 调用函数测试 some_function(10, 20)
运行后会输出:
函数内的所有局部变量:
a: 10
b: 20
name: mike
city: new york
另外提个小细节:locals()返回的是当前局部作用域的快照,修改这个字典的内容不会影响函数里实际的变量值,所以放心用来打印就好~
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

