On 9 September 2017 at 01:00, Guido van Rossum <gu...@python.org> wrote:

> I think it would be useful to write 1-2 sentences about the problem with
> inheritance -- in that case you pretty much have to use a metaclass,
>
>
It is not the case now. I think __init_subclass__ has almost the same
possibilities as a decorator, it just updates an already created class and
can add some methods to it.
This is a more subtle question, these two for example would be equivalent:

from dataclass import Data, Frozen

class Point(Frozen, Data):
    x: int
    y: int

and

from dataclass import dataclass

@dataclass(frozen=True)
class Point:
    x: int
    y: int


But the problem with inheritance based pattern is that it cannot support
automatic addition of __slots__.
Also I think a decorator will be easier to maintain.
But on the other hand I think inheritance based scheme is a bit more
readable.

--
Ivan
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to