将函数的所有parameter passing给另一个函数
我想将传递给函数( func1
)的所有参数作为parameter passing给func1
中的另一个函数( func2
)。这可以通过调用func1
中的*args, *kwargs
并将其传递给func2
,但是还有另一种方法?
本来
def func1(*args, **kwargs): func2(*args, **kwargs)
但如果我的func1签名是
def func1(a=1, b=2, c=3):
我怎么把它们都发送到func2,而不用
def func1(a=1, b=2, c=3): func2(a, b, c)
有没有像javascript callee.arguments
?
显式比隐式更好,但如果你真的不想input几个字符:
def func1(a=1, b=2, c=3): func2(**locals())
locals()
都是局部variables,所以在调用func2
之前不能设置任何额外的variables,否则它们也会被传递。
假设func1的参数只是关键字参数,你可以这样做:
def func1(a=1, b=2, c=3): func2(**locals())