Hi all, Ok, I am about to implement generation of such structures automatically using the struct sequence concept.
One more question: ------------------ Struct sequences are not yet members of the typing types. I would like to add that, because a major use case is also to show nice .pyi files with all the functions and types. * namedtuple has made the transition to NamedTuple * What would I need to do that for StructSequence as well? Things get also a bit more complicated since struct sequence objects can contain unnamed fields. Any advice would be appreciated, I am no typing expert (yet :-) cheers -- Chris On 30.07.19 17:10, Guido van Rossum wrote: > I think I have to agree with Petr. Define explicit type names. > > On Tue, Jul 30, 2019 at 2:45 AM Paul Moore <p.f.mo...@gmail.com > <mailto:p.f.mo...@gmail.com>> wrote: > > On Tue, 30 Jul 2019 at 09:33, Christian Tismer <tis...@stackless.com > <mailto:tis...@stackless.com>> wrote: > > >>> typing.NamedTuple("__f", x=int, y=int) > > <class '__main__.__f'> > > >>> typing.NamedTuple("__f", x=int, y=int) is typing.NamedTuple("__f", > > x=int, y=int) > > False > > This appears to go right back to collections.namedtuple: > > >>> from collections import namedtuple > >>> n1 = namedtuple('f', ['a', 'b', 'c']) > >>> n2 = namedtuple('f', ['a', 'b', 'c']) > >>> n1 is n2 > False > > I found that surprising, as I expected the named tuple type to be > cached based on the declared name 'f'. But it's been that way forever > so obviously my intuition here is wrong. But maybe it would be useful > for this case if there *was* a way to base named tuple identity off > the name/fields? It could be as simple as caching the results: > > >>> from functools import lru_cache > >>> cached_namedtuple = lru_cache(None)(namedtuple) > >>> n1 = cached_namedtuple('f', ('a', 'b', 'c')) # A tuple rather > than a list of field names, as lists aren't hashable > >>> n2 = cached_namedtuple('f', ('a', 'b', 'c')) > >>> n1 is n2 > True > > Paul > > > > -- > --Guido van Rossum (python.org/~guido <http://python.org/~guido>) > /Pronouns: he/him/his //(why is my pronoun here?)/ > <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/> > > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/GIFRTFWPEGKZ33PTW63YXKGXHHAQJ35I/ > -- Christian Tismer :^) tis...@stackless.com Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : https://github.com/PySide 14482 Potsdam : GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023 _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/FG6BG5DENW4TTD24XJIHXWS37RW7X5JY/