想象我要定义具有缺省值的所有参数的函数:Python的 - 找到一个函数中传递的参数个数
def fun(a=2, b=1):
...
函数内部的逻辑是:如果没有通过,使用默认值;如果只有a被通过,那么b总是等于a/2;如果a和b都通过,则使用传递的值。
在完成这一功能的问题是,它似乎很难分辨之间的差异(例如)乐趣(4)和乐趣(4,1),因为我不知道是否B = 1在外部提供,或者只是默认值。
一个明显的解决方法是使用* args,但是,在我的情况下,我想保留默认值和名称。因此,看起来唯一的出路就是知道里面有多少个参数在调用时传入fun()。我猜可能有一些系统功能可以使用,但我没有成功找到它们。任何想法如何可能这项工作将是非常有益的。
谢谢! :)
所以没有默认参数'B = 1'。有(例如)'b = None',然后根据情况在函数内部计算出'b'应该采用什么值。 – khelwood