gpt4 book ai didi

python - 包装函数而不破坏默认参数

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:06 24 4
gpt4 key购买 nike

有没有办法在不隐藏原始调用提供或不提供可选参数的事实的情况下转发函数参数?

def func1(a=x):
# do stuff

def func2(b=y):
# pass args to func1 without masking func1 defaults
return func1(?)

对 func2() 的调用应该导致 func1() 在没有参数的情况下被调用,或者至少使用它的默认参数,无论它们是什么。

以下几乎可以工作,但从根本上说,我不知道 func2 是否有办法确定是否在 not 上调用了它的默认值。

def func2(b=y):
# this comes close but what if func2(y) is called?
if b == y:
return func1()
else:
return func1(b)

最佳答案

确定参数是否被遗漏的通常方法是使用 None 作为默认值。您不太可能使用 None 调用函数,因此它是一个有用的标记。

def func2(b=None):
if b is None:
return func1()
else:
return func1(b)

关于python - 包装函数而不破坏默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com