[Python-Dev] bpo-34595: How to format a type name? (original) (raw)
Victor Stinner vstinner at redhat.com
Thu Sep 13 20:04:53 EDT 2018
- Previous message (by thread): [Python-Dev] bpo-34595: How to format a type name?
- Next message (by thread): [Python-Dev] bpo-34595: How to format a type name?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Le ven. 14 sept. 2018 à 00:09, Eric V. Smith <eric at trueblade.com> a écrit :
f'{type(obj)}' becomes type(obj).format(''), so you can return something other than str or repr does. It's only by convention that an object's format returns str: it need not do so.
What's New in Python 3.7 contains:
object.format(x, '') is now equivalent to str(x) rather than format(str(self), ''). (Contributed by Serhiy Storchaka in bpo-28974.)
https://bugs.python.org/issue28974
Oh, I didn't know that a type is free to change this behavior: return something different than str(obj) if the format spec is an empty string.
So are you suggesting to change type(obj).format('') to return the fully qualified name instead of repr(type)?
So "%s" % type(obj) would use repr(), but "{}".format(type(obj)) and f"{type(obj)}" would return the fully qualified name?
Victor
- Previous message (by thread): [Python-Dev] bpo-34595: How to format a type name?
- Next message (by thread): [Python-Dev] bpo-34595: How to format a type name?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]