[Python-Dev] PEP 557: Data Classes (original) (raw)
Sven R. Kunze srkunze at mail.de
Sat Sep 16 10:44:34 EDT 2017
- Previous message (by thread): [Python-Dev] PEP 557: Data Classes
- Next message (by thread): [Python-Dev] PEP 557: Data Classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thanks for the PEP! :)
I like the naming. ;) Though, I would like to add to Michel's argument in favor of a base class.
On 11.09.2017 08:38, Michel Desmoulin wrote:
- I read Guido talking about some base class as alternative to the generator version, but don't see it in the PEP. Is it still considered ? I'm going to put some words in explaining why I don't want to use base classes (I don't think it buys you anything). Do you have a reason for preferring base classes? Not preferring, but having it as an alternative. Mainly for 2 reasons: 1 - data classes allow one to type in classes very quickly, let's harvest the benefit from that. Typing a decorator in a shell is much less comfortable than using inheritance. Same thing about IDE: all current ones have snippet with auto-switch to the class parents on tab. All in all, if you are doing exploratory programming, and thus disposable code, which data classes are fantastic for, inheritance will keep you in the flow. 2 - it will help sell the data classes I train a lot of people to Python each year. I never have to explain classes to people with any kind of programming background. I always have to explain decorators. People are not used to it, and even kind fear it for quite some time. Inheritance however, is familiar, and will not only push people to use data classes more, but also will let them do less mistakes: they know the danger of parent ordering, but not the ones of decorators ordering.
- the order of base classes can arranged appropriately
In our day-to-day work, we use mixins and cooperative multiple inheritance a lot. So, having dataclasses as a base class or a mixin would be great! :)
Combined with 1) and 2), I am much in favor of having dataclasses as base class/mixin than as a decorator. What are the benefits of the decorator? Maybe both is possible?
Cheers, Sven
PS: @Michel good observation 1). Typing decorators in shell is annoying.
- Previous message (by thread): [Python-Dev] PEP 557: Data Classes
- Next message (by thread): [Python-Dev] PEP 557: Data Classes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]