有没有办法转发函数参数而不隐藏原始调用提供或不提供可选参数的事实?
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)