When you do a binary arithmetic operation, one of the things that dictates
whether the left-hand side's __*__ method is called before the right-hand
side's __r*__ method is if the left-hand side's __r*__ differs (there's
also the fact __r*__ methods are not called if. the types are the same).
Presumably this is because you only care about giving precedence to the
right-hand side when it would actually matter due to a difference in
implementation (with the assumption that there isn't a specific need to get
the right-hand side special dispensation to participate in the operation).

But with rich comparisons there doesn't seem to be an equivalent check for
a difference in method implementation. Why is that? Is it because we don't
want to assume that if someone bothered to implement both __gt__ and __lt__
that they would not necessarily be the inverse of each other like __add__
and __radd__?
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/7NZUCODEAPQFMRFXYRMGJXDSIS3WJYIV/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to