[Python-Dev] operator precedence of __eq__, __ne__, etc, if both object have implementations
Chris Withers
chris at simplistix.co.uk
Wed Sep 23 10:12:21 CEST 2009
Mark Dickinson wrote:
> I (still :-) think this is covered, for Python 2.x at least, by:
>
> http://docs.python.org/reference/datamodel.html#coercion-rules
But this isn't coercion! :-)
> - For objects x and y, first x.__op__(y) is tried. If this is not
> implemented or returns NotImplemented, y.__rop__(x) is tried.
Also, the above is not so:
Python 2.5.1
>>> class X:
... def __eq__(self,other):
... print "X __eq__"
>>> class Z: pass
...
>>> Z()==X()
X __eq__
No __req__ in sight...
cheers,
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
More information about the Python-Dev
mailing list