Le ven. 14 sept. 2018 à 00:09, Eric V. Smith <e...@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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com