On Sun, Aug 14, 2016 at 11:01 AM <breamore...@gmail.com> wrote: > On Sunday, August 14, 2016 at 7:09:47 AM UTC+1, Paul Rubin wrote: > > Steven D'Aprano writes: > > > If the Python community rallies around this "record" functionality and > > > takes to it like they took too namedtuple > > > > I like namedtuple and I think that it's a feature that they're modified > > by making a new copy. I know that has overhead but it's palpably > > bug-avoidant. I've used them extensively in some programs and they took > > a considerable burden off my mind compared to using something like > > structs or records. > > You might find this https://glyph.twistedmatrix.com/2016/08/attrs.html an > interesting read. >
I disagree with a few points from that blog post. 1. I don't mind typing so much. I like to be explicit. The attrs library uses some overly-concise abbreviations. For example, what's the meaning of ``@attrs.s`` or ``attrs.ib``? 2. When inheriting from a namedtuple, I use the same class name for the base and the child, so my reprs look good. 3. I don't bother to fieldnames.split() when passing fieldnames as a space-separated string, because the split is unnecessary. 4. I *like* that namedtuple is backwards-compatible with tuples, so that refactoring from tuples to namedtuples is easy. 5. Inheritance is useful. Sure, there are times it fails, but that's true for any technique. -- https://mail.python.org/mailman/listinfo/python-list