[issue9856] Change object.__format__(s) where s is non-empty to a TypeError
Eric V. Smith
report at bugs.python.org
Sun May 12 22:43:15 CEST 2013
Eric V. Smith added the comment:
But int has its own __format__ method, so this does not apply. Per the title of this issue, this only refers to object.__format__.
For example:
This works now, and will continue working:
>>> format(2, '1')
'2'
This is currently an error, and will remain an error:
>>> class C: pass
...
>>> format(C(), '1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: non-empty format string passed to object.__format__
It's this case that is currently an error, but it need not be:
>>> format(object(), '1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: non-empty format string passed to object.__format__
The more I think about it, the more I think it would be too confusing to make object.__format__ behave differently if self is of type object, versus another type. So I'll probably just close this as fixed unless someone feels strongly about it.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9856>
_______________________________________
More information about the Python-bugs-list
mailing list