Add __ne__ built-in function

In Python 3 __ne__ by default delegates to __eq__ and inverts the
result, but in Python 2 they urge you to define __ne__ when you
define __eq__ for it to work properly [1].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.
[1]https://docs.python.org/2/reference/datamodel.html#object.__ne__

Change-Id: I733f87fa5f9f69eac6f4e1eb930a9f299c0052e4
This commit is contained in:
gecong1973 2016-10-17 08:51:06 +08:00
parent e98815718d
commit 797d376c69

View File

@ -146,6 +146,9 @@ class CallbackEqualityTest(test_base.BaseTestCase):
def __eq__(self, other):
return True
def __ne__(self, other):
return not self.__eq__(other)
b = A()
c = A()