Kaydet (Commit) 4d6e8fe5 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Clarify the lack of relationship between rich comparison operators.

Prompted by a discussion on comp.lang.python.
üst 71adf7e9
...@@ -1089,6 +1089,11 @@ used in a Boolean context, the return value should be interpretable as ...@@ -1089,6 +1089,11 @@ used in a Boolean context, the return value should be interpretable as
a Boolean value, else a \exception{TypeError} will be raised. a Boolean value, else a \exception{TypeError} will be raised.
By convention, \code{False} is used for false and \code{True} for true. By convention, \code{False} is used for false and \code{True} for true.
There are no implied relationships among the comparison operators.
The truth of {\var{x}==\var{y}} does not imply that \code{\var{x}!=\var{y}}
is false. Accordingly, when defining \method{__eq__}, one should also
define \method{__ne__} so that the operators will behave as expected.
There are no reflected (swapped-argument) versions of these methods There are no reflected (swapped-argument) versions of these methods
(to be used when the left argument does not support the operation but (to be used when the left argument does not support the operation but
the right argument does); rather, \method{__lt__()} and the right argument does); rather, \method{__lt__()} and
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment