如何在Python中找到缺少参数的名称?

时间:2013-07-01 18:19:17

标签: python function parameters

每当调用缺少命名参数的Python函数时,它会产生一个运行时错误,列出缺少参数的数量:

TypeError: getVolume() takes exactly 3 arguments (2 given)

然而,这并没有告诉我缺少哪些具体论据。如果它实际打印了缺少参数的名称,而不是仅打印缺少的参数数量,则此运行时错误消息将提供更多信息。在处理接受大量参数的函数时,这一点尤为重要:记住缺少的每个参数的名称并不总是很容易。

一般情况下,是否可以修改Python函数,以便在缺少参数时打印缺少参数的名称?

def getVolume(length, width, height):
    return length*width*height;

print(getVolume(height=3, width=3));

1 个答案:

答案 0 :(得分:1)

这在Python3.3(最多)中已经改变,你可以免费获得缺少的参数名称:

>>> def getVolume(length, width, height):
...     return length*width*height;
... 
>>> print(getVolume(height=3, width=3));
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: getVolume() missing 1 required positional argument: 'length'