gpt4 book ai didi

python - 有什么方法可以知道参数的值是默认值还是用户指定的?

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

我正在寻找像 Lisp 的 arg-supplied-p 变量一样工作的东西,以帮助区分默认值和用户指定的相同值。

例子:

def foo(a=10):
pass

我想知道 foo 是否这样调用:

foo()

或者像这样:

foo(10)

甚至像这样:

foo(a=10)

最后两个对我来说已经足够同义了;我不需要知道那个细节。我稍微查看了 inspect 模块,但 getargspec 为所有 3 个调用返回完全相同的结果。

最佳答案

除了检查源代码外,没有办法区分这三个函数调用——它们意味着具有完全相同的含义。如果您需要区分它们,请使用不同的默认值,例如

def foo(a=None):
if a is None:
a = 10
# no value for a provided

关于python - 有什么方法可以知道参数的值是默认值还是用户指定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11251119/

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