Ethan Furman <et...@stoneleaf.us> added the comment:
Okay, I might be changing my mind. In most cases I suspect the difference would be minimal, but when it isn't, it really isn't. Take this example from a pydoc test: class Color(enum.Enum) | Color(value, names=None, *, module=None, qualname=None, type=None, start=1) | | An enumeration. | | Method resolution order: | Color | enum.Enum | builtins.object | | Data and other attributes defined here: | - | blue = <test.test_enum.TestStdLib.Color.blue: 3> + | blue = <Color.blue: 3> | - | green = <test.test_enum.TestStdLib.Color.green: 2> + | green = <Color.green: 2> | - | red = <test.test_enum.TestStdLib.Color.red: 1> + | red = <Color.red: 1> It feels like the important information is completely lost in the noise. Okay, I'm rejecting the __repr__ changes. Besides the potential verbosity, there should usually only be one of any particular Enum, __module__ and __qualname__ are both readily available when there are more than one (either on accident or by design), and users can modify their own __repr__s if they like. I'm still thinking about the change in _convert_ to modify __str__ to use the module name instead of the class name.... Here are my questions about that: - Modify just __str__ or __repr__ as well? socket.AF_UNIX instead of AddressFamily.AF_UNIX <socket.AddressFamily.AF_UNIX: 1> instead of <AddressFamily.AF_UNIX: 1> - potential confusion that actual instances of Enum in the stdlib appear differently than "regular" Enums? Or perhaps call out those differences in the documentation as examples of customization? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34443> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com