如果我将一个函数包装成一个更大的函数,但我仍然希望能够访问内部函数的所有参数,通常是这样做的:
def bigFun(par1, **kwargs):
innerFun(**kwargs)
现在,如果我想在包装函数中提供默认值,并且仍然让用户覆盖这些值,我可以做:
def bigFun(par1, **kwargs):
default_kwargs = dict(keyX=valueX, keyY=valueY, ...)
default_kwargs.update(**kwargs)
kwargs = default_kwargs
innerFun(**kwargs)
我不太喜欢。你知道吗
对我来说,这似乎是一种很常见的情况。你知道吗
在这种情况下,人们还会用其他的成语吗?你知道吗
可以使用setdefault
或对于多对:
您可以在包装器函数中使用关键字表示法作为默认值,并将它们显式地传递给内部函数:
相关问题 更多 >
编程相关推荐