Good point. 

--
Eric

> On Jul 29, 2021, at 3:18 AM, Thomas Grainger <tagr...@gmail.com> wrote:
> 
> 
> But heterogeneous iteration would require typing changes
> 
>> On Thu, 29 Jul 2021, 02:18 Eric V. Smith, <e...@trueblade.com> wrote:
>> In dataclasses, support for __slots__ is being added in 3.10. Adding 
>> optional support for iteration would be easy. 
>> 
>> --
>> Eric V. Smith
>> 
>>>> On Jul 28, 2021, at 7:29 PM, Paul Bryan <pbr...@anode.ca> wrote:
>>>> 
>>> 
>>> I'm with you; since dataclasses were introduced, namedtuple has not see any 
>>> use from me, though none of my uses have demanded ultra-high efficiency 
>>> either.
>>> 
>>> I wonder how many users are currently relying on namedtuple __getitem__ 
>>> semantics though. that's functionality dataclasses do not (currently) have.
>>> 
>>> Random thought I don't know the answer to: Any reason __slots__ can't be 
>>> used on a dataclass to improve efficiency?
>>> 
>>> 
>>>> On Wed, 2021-07-28 at 22:22 +0000, pa...@lexyr.com wrote:
>>>> [Migrating the discussion from https://bugs.python.org/issue44768.]
>>>> 
>>>> PEP 20 says:
>>>> 
>>>>> There should be one-- and preferably only one --obvious way to do it.
>>>> 
>>>> There are two ways to create a simple named type to store data: 
>>>> collections.namedtuple and dataclasses.dataclass. I propose deprecating 
>>>> namedtuple.
>>>> 
>>>> As far as the interface is concerned, the namedtuple is almost completely 
>>>> equivalent to a frozen dataclass - with some iterability syntactic sugar 
>>>> thrown in. I don't think there are use cases for namedtuple that would not 
>>>> be trivial to rewrite with dataclasses.
>>>> 
>>>> As far as the implementation is concerned, the namedtuple is faster. If 
>>>> efficiency is a concern, why do we make our users decide? We can choose 
>>>> the most efficient one on the library's end. C++ does something similar 
>>>> with bool vectors - the library has a special case for where it would be 
>>>> more optimal to use a different data structure underneath.
>>>> 
>>>> 
>>>> TL;DR: If dataclass is so good, why keep namedtuple around?
>>>> _______________________________________________
>>>> Python-ideas mailing list -- python-ideas@python.org
>>>> To unsubscribe send an email to python-ideas-le...@python.org
>>>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>>>> Message archived at 
>>>> https://mail.python.org/archives/list/python-ideas@python.org/message/UQRCDWMFNC5NRLLQCTYPOEGWJOIV7BGJ/
>>>> Code of Conduct: http://python.org/psf/codeofconduct/
>>> 
>>> _______________________________________________
>>> Python-ideas mailing list -- python-ideas@python.org
>>> To unsubscribe send an email to python-ideas-le...@python.org
>>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>>> Message archived at 
>>> https://mail.python.org/archives/list/python-ideas@python.org/message/4NOUPTLNNJJMM3XSN3WEK32NWRJDAVRD/
>>> Code of Conduct: http://python.org/psf/codeofconduct/
>> _______________________________________________
>> Python-ideas mailing list -- python-ideas@python.org
>> To unsubscribe send an email to python-ideas-le...@python.org
>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>> Message archived at 
>> https://mail.python.org/archives/list/python-ideas@python.org/message/ESOIUHFM26SPCLP4VZCY7WETXJWFVBOC/
>> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/XBIITMWUP5FZBXW3JJY2AYMYPNTO2MFH/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to