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