Ethan Furman added the comment: On 08/14/2013 09:27 PM, on PyDev, Nick Coghlan wrote: > For enums, I believe they should be formatted like their > base types (so !s and !r will show the enum name, anything without > coercion will show the value).
I agree. While one of the big reasons for an Enum type was the pretty str and repr, I don't see format in that area. So, these are some of the ways we have to display an object: str() calls obj.__str__() repr() calls obj.__repr__() "%s" calls obj.__str__() "%r" calls obj.__repr__() "%d" calls... not sure, but we see the int value "{}".format() should (IMO) also display the value of the object Using int as the case study, its presentation types are ['b', 'd', 'n', 'o', 'x', 'X']. Notice there is no 's' nor 'r' in there, as int expects to display a number, not arbitrary text. So, for mixed-type Enumerations, I think any format calls should simply be forwarded to the mixed-in type (unless, of course, a custom __format__ was specified in the new Enumeration). Patch attached. ---------- nosy: +ncoghlan Added file: http://bugs.python.org/file31494/issue18738.stoneleaf.03.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue18738> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com