<div dir="ltr">I personally find it kind of annoying when you have code like this:<div><br></div><div><br></div><div>x = A(1, B(2, 3))</div><div><br></div><div><br></div><div>and Python's error message looks like this:</div><div><br></div><div><br></div><div><div>TypeError: __init__() takes 1 positional argument but 2 were given</div><div><br></div><div><br></div><div>It doesn't give much of a clue to which `__init__` is being called. At all.</div><div><br></div><div>The idea: when showing the function name in an error like this, show the fully qualified name, like:</div><div><br></div><div><br></div><div>TypeError: A.__init__() takes 1 positional argument but 2 were given<br></div><div><br></div><div><br></div><div>This would be MUCH more helpful!</div><div><br></div><div><br></div><div>Another related change would be to do the same thing in tracebacks:</div><div><br></div><div><br></div><div><div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div><div>  File "<stdin>", line 2, in __init__</div><div>AssertionError</div></div><div><br></div><div><br></div><div>to:</div><div><br></div><div><br></div><div><div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div><div>  File "<stdin>", line 2, in MyClass.__init__</div><div>AssertionError</div></div><div><br></div><div><br></div><div>which could make it easier to find where exactly an error originated.</div><div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Ryan<span style="font-size:12.8px"> </span><span style="font-size:12.8px">(ライアン)</span></div><div dir="ltr">[ERROR]: Your autotools build scripts are 200 lines longer than your program. Something’s wrong.<br></div><div dir="ltr"><div><a href="http://kirbyfan64.github.io/" target="_blank">http://kirbyfan64.github.io/</a><div style="display:inline-block;width:16px;height:16px"> </div></div></div></div></div></div></div></div></div></div>
</div></div></div>