将函数的所有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())