3

每当调用缺少命名参数的 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));
4

1 回答 1

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'
于 2013-07-01T18:40:51.557 回答