[Python-Dev] namedtuple implementation grumble (original) (raw)
Nick Coghlan ncoghlan at gmail.com
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 ]