Python 函数调用的值字典?
我正在运行一系列的实验,我不断地发现自己在重写代码,以便记录传递到函数中的参数。其主要思想是获取一个字典,其中包含函数获得的变量名称和值(包括默认值)。下面是一些我所追求的例子Python 函数调用的值字典?,python,Python,我正在运行一系列的实验,我不断地发现自己在重写代码,以便记录传递到函数中的参数。其主要思想是获取一个字典,其中包含函数获得的变量名称和值(包括默认值)。下面是一些我所追求的例子 def foo(a, b, c=3, d=4): pass foo(1,2) {'a': 1, 'b':2, 'c':3, 'd':4} foo(1,2,5,6) {'a': 1, 'b':2, 'c':5, 'd':6} foo(1,2,d=10) {'a': 1, 'b':2, 'c':3,
def foo(a, b, c=3, d=4):
pass
foo(1,2)
{'a': 1, 'b':2, 'c':3, 'd':4}
foo(1,2,5,6)
{'a': 1, 'b':2, 'c':5, 'd':6}
foo(1,2,d=10)
{'a': 1, 'b':2, 'c':3, 'd':10}
我已经研究过如何使用kwargs和inspect模块,但是我无法获得指定的行为 我想你需要
def foo(a, b, c=3, d=4):
return dict(locals())
返回{'a':a,'b':b,'c':c,'d':d}
?这肯定会给出相同的字典,但我不熟悉locals方法的源代码,返回的字典在方法之外编辑可能安全,也可能不安全。为了安全起见,我加了dict()。谢谢!这正是我想要的