[issue13224] Change str(x) to return only __qualname__ for some types
Éric Araujo
report at bugs.python.org
Thu Nov 24 16:55:41 CET 2011
Éric Araujo <merwok at netwok.org> added the comment:
You are right, I misinterpreted “use”. I cloned the the PEP 3155 repo and ran my test script (I’ll attach it for reference) and reprs/strs are indeed "<class '__main__.A.B'>" and "<function makestrip.<locals>.strip at ...>", so this request is not obsoleted.
I’ve updated my patch to use qualnames for str(cls) and str(func). As I reported before, if I want str(sys.exc_info) to be 'exc_info', then Python unbound methods (i.e. functions) are affected:
<method 'update' of 'dict' objects>
<built-in method update of dict object at ...>
<method 'tolist' of 'array.array' objects>
<built-in method tolist of array.array object at ...>
→ Counter.update
<bound method Counter.update of Counter()>
→ Top.Nested.method # this checks qualnames are used
<bound method Nested.method of <__main__.Top.Nested object at ...>
It seems to me that this is not a problem: Python 3 unbound methods *are* functions. If you decide that having str(method) unchanged for all kinds of methods is more important than giving all kinds of functions a short str, I can do it.
----------
dependencies: +PEP 3155 implementation
Added file: http://bugs.python.org/file23771/change-some-str.diff
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13224>
_______________________________________
More information about the Python-bugs-list
mailing list