Nick Coghlan added the comment:

So that they can be returned from an API without breaking backwards 
compatibility, named tuples are intentionally equivalent to the corresponding 
ordinary tuple:

>>> from collections import namedtuple
>>> Pair = namedtuple("Pair", "x y")
>>> Pair(1, 2) == (1, 2)
True

Transitivity thus requires that two named tuples with different field names 
also compare equal with each other:

>>> Pair2 = namedtuple("Pair2", "a b")
>>> Pair(1, 2) == (1, 2) == Pair2(1, 2)
True
>>> Pair(1, 2) == Pair2(1, 2)
True

So the field names on named tuples are just an access mechanism - they aren't 
part of the value of the instances.

----------
nosy: +ncoghlan
resolution:  -> invalid
stage:  -> committed/rejected
status: open -> closed

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

Reply via email to