我发现以下行为:
>>> def f():
... def g(a,b):
... return a+b
... return g
>>> f().__name__
... 'g'
>>> f().__qualname__
... 'f.<locals>.g'
>>> f()(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: g() missing 1 required positional argument: 'b'
我希望错误消息显示所__qualname__
涉及的功能,而不仅仅是__name__
. 在自己编写此类消息时,这也是推荐的做法。
我可以对此做些什么吗(例如启动时的配置)?或者这是一个错误/功能?
显示 qualname 将使调试更容易,尤其是在使用装饰器或 lambda 时。
蟒蛇 3.6.1