【发布时间】:2018-08-01 11:24:50
【问题描述】:
我发现以下行为:
>>> 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 时。
python 3.6.1
【问题讨论】:
标签: python python-3.x typeerror qualified-name