[Python-Dev] namedtuple implementation grumble
Nick Coghlan
ncoghlan at gmail.com
Mon Jun 9 03:42:59 CEST 2014
More information about the Python-Dev mailing list
Mon Jun 9 03:42:59 CEST 2014
- Previous message: [Python-Dev] namedtuple implementation grumble
- Next message: [Python-Dev] namedtuple implementation grumble
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 9 Jun 2014 10:04, "Raymond Hettinger" <raymond.hettinger at gmail.com> wrote: > > > On Jun 7, 2014, at 6:25 AM, R. David Murray <rdmurray at bitdance.com> wrote: > >>> I guess I could duck-type it based on the _fields attribute but that >>> feels implicit and fragile. >>> >>> What do you guys suggest? >> >> >> I seem to remember a previous discussion that concluded that duck typing >> based on _fields was the way to go. (It's a public API, despite the _, >> due to name-tuple's attribute namespacing issues.) > > > Yes. That is the recommended approach. > > IIRC that was Guido's suggestion rather than creating an abstract > base class for a named tuple (any tuple-like class with indexable > elements that are also accessible using named attributes). Given the somewhat periodic recurrence of the question, might it be worth making an ABC after all, with "subclass of tuple with a _fields attribute" as its default check? "isinstance(obj, collections.NamedTupleABC)" is quite a bit more self-documenting than "isinstance(obj, tuple) and hasattr(obj, '_fields')" Cheers, Nick. > > > Raymond > > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20140609/ddaa2075/attachment.html>
- Previous message: [Python-Dev] namedtuple implementation grumble
- Next message: [Python-Dev] namedtuple implementation grumble
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list