Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError消息使用名称而不是qualname_Python_Python 3.x_Typeerror_Qualified Name - Fatal编程技术网

Python TypeError消息使用名称而不是qualname

Python TypeError消息使用名称而不是qualname,python,python-3.x,typeerror,qualified-name,Python,Python 3.x,Typeerror,Qualified Name,我发现以下行为: >>> 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 "<std

我发现以下行为:

>>> 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'
>>def():
...     def g(a、b):
...         返回a+b
...     返回g
>>>f()__
... 'g'
>>>f()__
... 'f、 .g'
>>>f()(2)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:g()缺少1个必需的位置参数:“b”
我希望错误消息显示所涉及函数的
\uuuuuuqalname\uuuu
,而不仅仅是
\uuuuuu name\uuuu
。这也是您自己编写此类消息时的推荐做法

我可以对此做些什么(例如启动时的配置)? 或者这是一个错误/功能

显示qualname将使调试更加容易,尤其是在使用装饰器或lambda时



Python3.6.1这是不可配置的;它是在解释器内部硬编码的。如果你对此有强烈的感觉。考虑到
\uuuuu qualname\uuuuu
是一个较新的功能,他们可能没有考虑或没有考虑在这种情况下使用它

更新:看起来有,但在过去几年中没有看到任何活动