After some playing around, I figured out a pattern that works without any
changes to the implementations of `dataclass` or `Enum`, and I like this
because it keeps the 2 kinds of concern separate. Maybe I'll try submitting an
MR to add an example like this to the documentation for `Enum`.
In [1]: from dataclasses import dataclass
In [2]: from enum import Enum
In [3]: @dataclass(frozen=True)
...: class CreatureDataMixin:
...: size: str
...: legs: int
...:
In [4]: class Creature(CreatureDataMixin, Enum):
...: BEETLE = ('small', 6)
...: DOG = ('medium', 4)
...:
In [5]: Creature.DOG
Out[5]: Creature(size='medium', legs=4)
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/G2VALQ4RIVFKIOKVW4XZAHZMLSZWL2XS/
Code of Conduct: http://python.org/psf/codeofconduct/