News for hackers. Stuff that matters.
Re:What’s New In Python 3.6 by kchoudhu on Wednesday December 07, 2016 @02:37PM (#13125478)
Classes work for this as well, I've found.

I use a lot of classes.

It feels like Java sometimes, but it does make debugging easier...

Re:What’s New In Python 3.6 by CardenB on Wednesday December 07, 2016 @02:46PM (#13125577)
In my experience, namedtuples have significantly less overhead than classes.
Re:What’s New In Python 3.6 by kchoudhu on Wednesday December 07, 2016 @02:51PM (#13125624)
Yes for the increased overhead, but I find that the fact that they're tuples underneath results in odd semantics (I think the comment above mine[1] does a decent job pointing out why I am leary of using them.

Tradeoffs, I guess.

[1] https://news.ycombinator.com/item?id=13124501

Re:What’s New In Python 3.6 by skrause on Thursday December 08, 2016 @01:31AM (#13128796)
I doubt that because defining a namedtuple just creates a new class internally: https://github.com/python/cpython/blob/master/Lib/collection...

Class creation the very expensive in Python, so Guido van Rossum explicitly recommends against using dynamically created namedtuples: https://mail.python.org/pipermail//python-ideas/2016-April/0...

Re:What’s New In Python 3.6 by tcbawo on Thursday December 08, 2016 @10:25AM (#13130834)
I believe that objects of namedtuple have less runtime overhead than a class. Guido seems to point out that the process of instantiating a namedtuple class is expensive.
Re:What’s New In Python 3.6 by benhoyt on Thursday December 08, 2016 @08:47AM (#13130210)
Normally, yes. But if you define __slots__ on the class, it's the same overhead as a namedtuple (no __dict__ per instance).