Mel Wilson wrote:
In article <[EMAIL PROTECTED]>,
Steven Bethard <[EMAIL PROTECTED]> wrote:
I believe what Peter Otten was pointing out is that calling __eq__ is
not the same as using ==, presumably because the code for == checks the
types of the two objects and returns False if they're different before
the __eq__ code ever gets called.
Doesn't seem to:
[snip]
Hmm... maybe it only shows up with subclassing?
>>> class C(object):
... def __eq__(self, other):
... return True
...
>>> class D(C):
... def __eq__(self, other):
... return False
...
>>> c, d = C(), D()
>>> c == 3
True
>>> 3 == c
True
>>> c == d
False
>>> d == c
False
>>> c.__eq__(d)
True
>>> d.__eq__(c)
False
STeve
--
http://mail.python.org/mailman/listinfo/python-list