您可以使用locals()
获取函数中局部变量的字典,如下所示:
def foo(a, b, c):
print locals()
>>> foo(1, 2, 3)
{'a': 1, 'c': 3, 'b': 2}
然而,这有点hackish,因为locals()
返回本地范围内的所有变量,而不仅仅是传递给函数的参数,因此如果您不在函数的最顶部调用它,结果可能包含比您想要的更多信息:
def foo(a, b, c):
x = 4
y = 5
print locals()
>>> foo(1, 2, 3)
{'y': 5, 'x': 4, 'c': 3, 'b': 2, 'a': 1}
我宁愿在函数顶部构造一个您需要的变量的字典或列表,正如其他答案中所建议的那样。恕我直言,它更明确,并以更清晰的方式传达代码的意图。