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 David _______________________________________________ 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