Yury Selivanov added the comment:

> Named tuples are not a type, they are a protocol.  Guido has agreed that 
> checking for _fields is an acceptable and preferred way of finding out 
> whether something is a namedtuple.

They are, but for protocols we usually use dunder names.  "_fields" is a common 
enough attribute name for all kinds of objects, not necessarily namedtuples.

Can we at least check if the class is a tuple subclass and then use its 
'_fields' for sorting?

> I can add a check to at least check the value of _fields is an iterable of 
> strings.  If it still aliases with some random use of _fields, the only 
> consequence is that the matching field names will appear in a different order.

+1 for checking if it's an iterable of strings.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24879>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to