确保使用特定 kwarg 调用方法的一种方法是:
def mymethod(self, *args, **kwargs):
assert "required_field" in kwargs
引发 AssertionError
似乎不是最合适的做法。是否有一致同意的内置异常来处理此问题并提供很好的错误消息?
更多信息:存在需要传递 *args 和 **kwargs kinda' 的第 3 方子类化问题,因此将“required_field”作为位置参数并不是一个好的选择。
最佳答案
>>> def foo(bar): pass
...
>>> foo()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: foo() missing 1 required positional argument: 'bar'
我会选择 TypeError..
关于Python:需要 kwarg,要引发哪个异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13422601/