1. ホーム
  2. python

[解決済み] ある関数のすべての引数を別の関数に渡す

2023-07-24 09:28:03

質問

関数に渡された引数をすべて( func1 ) に渡されたすべての引数を、別の関数 ( func2 ) の内部で func1 これは *args, *kwargs を呼び出すと func1 に渡し、それを 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 ?

どのように解決するのですか?

暗黙的よりも明示的な方が良い が、どうしても数文字打ちたくない場合は

def func1(a=1, b=2, c=3):
    func2(**locals())

locals() はすべてローカル変数です。 func2 を呼び出す前に余計な変数を設定してはいけませんし、それらも一緒に渡されます。