> On Sep 27, 2019, at 8:23 PM, Guido van Rossum <[email protected]> wrote: > > >> On Fri, Sep 27, 2019 at 11:18 AM Serhiy Storchaka <[email protected]> >> wrote: >> I think it needs an explicit support in the type creation machinery (as >> __slots__ itself has) to support descriptors and slots with the same name. > > That would be tough, since __slots__ is currently implemented by creating a > separate descriptor for each slot. > > I do think that it would be nice to have a way to automatically create > __slots__ from annotations. It would be even nicer if that could be done > without copying the class object (as the current state of the art requires: > https://github.com/ericvsmith/dataclasses/blob/master/dataclass_tools.py#L23). > > Thinking aloud, perhaps this could be done by setting __slots__ to a magical > value, e.g. > > class Point: > __slots__ = "__auto__" > x: float > y: float > I think a sentinel like None or a new typing.use_annotations_for_slots (need a better name, of course) would be better than a magic string, especially since strings are iterable.
> This would be independent from the @dataclass decorator (though the decorator > may have to be aware of the magic value). > > If that's too wacky, we could also use a class keyword argument: > > class Point(slots=True): > x: float > y: float > > (Though arguably that's just as wacky. :-) I like a special value for __slots__. I might look in to the feasibility of this. Eric > > -- > --Guido van Rossum (python.org/~guido) > Pronouns: he/him (why is my pronoun here?) > _______________________________________________ > 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/3632QSWTPCQ34CJ3CRJH2DKGS26WG55O/ > Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ 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/KC6UDBUTBO6EATPL7XODX763R2AD2YSS/ Code of Conduct: http://python.org/psf/codeofconduct/
