[Python-Dev] Concerns about method overriding and subclassing with dataclasses (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Fri Dec 29 14🔞43 EST 2017


On Fri, 29 Dec 2017 11:12:11 -0800 Ethan Smith <ethan at ethanhs.me> wrote:

> Agreed as well. If I make the effort of having a dataclass inherit > from a base class, I probably don't want the base class' methods to be > silently overriden by machine-generated methods. Of course, that can > be worked around by using multiple inheritance, you just need to be > careful and add a small amount of class definition boilerplate. I am not sure exactly what you mean by "worked around by using multiple inheritance".

I mean you can write:

class _BaseClass: def repr(self): # ...

@dataclass class _DataclassMixin: # your attribute definitions here

class FinalClass(_BaseClass, _BaseDataclass): pass

Yes, it's tedious and verbose :-)

Regards

Antoine.



More information about the Python-Dev mailing list