On Mon, Jan 8, 2018 at 8:06 AM,  <breamore...@gmail.com> wrote:
> From the third paragraph at 
> https://docs.python.org/2/reference/datamodel.html#object.__ne__ "There are 
> no implied relationships among the comparison operators. The truth of x==y 
> does not imply that x!=y is false. Accordingly, when defining __eq__(), one 
> should also define __ne__() so that the operators will behave as 
> expected...".  Compare that with the Python 3 equivalent "By default, 
> __ne__() delegates to __eq__() and inverts the result unless it is 
> NotImplemented. There are no other implied relationships among the comparison 
> operators, for example, the truth of (x<y or x==y) does not imply x<=y..."
>

Ah, I forgot to check the Py2 docs. So, yeah, sounds like it's
basically historical. I'm still not sure why it was done in the first
place, but it looks like it's the sort of thing that wouldn't be done
now.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to