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 に答える