[Python-Dev] Concerns about method overriding and subclassing with dataclasses

Ethan Furman ethan at stoneleaf.us
Fri Dec 29 15:30:52 EST 2017


On 12/29/2017 11:55 AM, Ethan Smith wrote:
> On Fri, Dec 29, 2017 at 11:37 AM, Ethan Furman wrote:

>> It is possible to determine whether an existing __repr__ is from 'object'
 >> or not, and only provide one if that is the case.  I think that should be
 >> the default, with 'repr = True' for those cases where a new, auto-generated,
>> __repr__ is desired.
>
> The only other thing you'd want to handle is to cover inheriting from another dataclass. e.g., if I have dataclass with
> attribute a, and subclass it to add attribute b, I'd want both in the repr.

Good point.  So auto-generate a new __repr__ if:

- one is not provided, and
- existing __repr__ is either:
   - object.__repr__, or
   - a previous dataclass __repr__

And if the auto default doesn't work for one's use-case, use the keyword parameter to specify what you want.

--
~Ethan~


More information about the Python-Dev mailing list