[Python-Dev] PEP 557: Data Classes (original) (raw)

Glenn Linderman v+python at g.nevcal.com
Mon Sep 18 16:50:30 EDT 2017


On 9/18/2017 11:37 AM, Ethan Furman wrote:

On 09/11/2017 03:28 PM, Guido van Rossum wrote:

Oddly I don't like the enum (flag names get too long that way), but I do agree with everything else Barry said (it should be a trivalue flag and please don't name it cmp). Hmmm, named constants are one of the motivating factors for having an Enum type.  It's easy to keep the name a reasonable length, however: export them into the module-level namespace.  re is an excellent example; the existing flags were moved into a FlagEnum, and then (for backwards compatibility) aliased back to the module level: snip Likewise, if we had: class Compare(enum.Enum): NONE = 'each instance is an island' EQUAL = 'instances can be equal to each other' ORDERED = 'instances can be ordered and/or equal' globals().update(Compare.members) then we can still use, for example, EQUAL, but get the more informative repr and str when we need to.

I tend to like the Enum also. But maybe this is a case where there should be multiple different decorators:

@dataclass @equality_dataclass @ordered_datatclass -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170918/b4e62f31/attachment.html>



More information about the Python-Dev mailing list