On Sun, Jun 08, 2014 at 03:13:55PM -0400, Eric V. Smith wrote:
> On 6/7/2014 10:46 AM, Nick Coghlan wrote:
> > On 7 June 2014 04:50, Chris Withers <ch...@simplistix.co.uk> wrote:
> >> Curious as to what lead to that implementation approach? What does it buy
> >> that couldn't have been obtained by a mixin providing the functionality?
> > 
> > In principle, you could get the equivalent of collections.namedtuple
> > through dynamically constructed classes. In practice, that's actually
> > easier said than done, so the fact the current implementation works
> > fine for almost all purposes acts as a powerful disincentive to
> > rewriting it. 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:
[...]


I wonder how a hybrid approach would work? Use a dynamically-created 
class, but then construct the __new__ method using exec and inject it 
into the new class. As far as I can see, it's only __new__ that benefits 
from the exec approach.

Anyone tried this yet? Is it worth an experiment?



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

Reply via email to