[Python-Dev] Impact of Namedtuple on startup time (original) (raw)

Alexander Belopolsky alexander.belopolsky at gmail.com
Mon Jul 17 21:14:38 EDT 2017


On Mon, Jul 17, 2017 at 8:16 PM, Barry Warsaw <barry at python.org> wrote:

.. > class Foo(NamedTuple, fields = 'x,y,z'): > ... > > Then the name is explicit and you get to add methods > etc. if you want.

Yes, I like how that reads. I would prefer

class Foo(metaclass=namedtuple, fields = 'x,y,z'): ...

which while slightly more verbose, does not lie about what namedtuple is - a factory of classes. This, however is completely orthogonal to the issue of performance. As I mentioned in my previous post, namedtuple metaclass above can be a simple function:

def namedtuple(name, bases, attrs, fields=()): # Override init_subclass for Python 3.6 return collections.namedtuple(name, fields) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170717/6e5ee91f/attachment-0001.html>



More information about the Python-Dev mailing list