[Python-Dev] namedtuple implementation grumble
Eric V. Smith
eric at trueblade.com
Sun Jun 8 23:27:41 CEST 2014
More information about the Python-Dev mailing list
Sun Jun 8 23:27:41 CEST 2014
- Previous message: [Python-Dev] namedtuple implementation grumble
- Next message: [Python-Dev] namedtuple implementation grumble
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 6/8/2014 3:37 PM, dw+python-dev at hmmz.org wrote: > On Sun, Jun 08, 2014 at 03:13:55PM -0400, Eric V. Smith wrote: > >>> The current implementation is also *really* easy to understand, >>> while writing out the dynamic type creation explicitly would likely >>> require much deeper knowledge of the type machinery to follow. > >> As proof that it's harder to understand, here's an example of that >> dynamically creating functions and types: > > Probably I'm missing something, but there's a much simpler non-exec > approach, something like: > > class _NamedTuple(...): > ... > > def namedtuple(name, fields): > cls = tuple(name, (_NamedTuple,), { > '_fields': fields.split() > }) > for i, field_name in enumerate(cls._fields): > prop = property(functools.partial(_NamedTuple.__getitem__, i) > functools.partial(_NamedTuple.__setitem__, i)) > setattr(cls, field_name, prop) > return cls How would you write _Namedtuple.__new__?
- Previous message: [Python-Dev] namedtuple implementation grumble
- Next message: [Python-Dev] namedtuple implementation grumble
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list