元の呼び出しがオプションの引数を提供した、または提供しなかったという事実を隠すことなく、関数の引数を転送する方法はありますか?
def func1(a=x):
# do stuff
def func2(b=y):
# pass args to func1 without masking func1 defaults
return func1(?)
func2() を呼び出すと、 func1() が引数なしで呼び出されるか、少なくともデフォルトの引数が何であれ、呼び出されます。
以下はほとんど機能しますが、基本的に、 func2 がそのデフォルトが呼び出されたかどうかを判断する方法があるかどうかはわかりません。
def func2(b=y):
# this comes close but what if func2(y) is called?
if b == y:
return func1()
else:
return func1(b)