python中有没有办法从被调用的函数内部检查调用函数的输出参数的数量?
例如:
a,b = Fun() #-> number of output arguments would be 2
a,b,c = Fun() #-> number of output arguments would be 3
在 matlab 中,这将使用nargout来完成, 我知道这样做的“正常方式”是将不需要的值解压缩到 _ 变量中:
def f():
return 1, 2, 3
_, _, x = f()
我想要完成的事情很简单。我有一个函数,如果用一些参数或两个对象调用,它将返回一个对象:
def f(a,b=None):
if b is None:
return 1
else:
return 1,2
但我想强制元组解包不发生并强制出错,例如:
x = f(a) #-> Fine
x,y = f(a,b) #-> Fine
x,y = f(a) #-> Will throw native error: ValueError: need more than Foo values to unpack
x = f(a,b) #-> Want to force this to throw an error and not default to the situation where x will be a tuple.