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: I3df4396495e3404e2c644c769693f89b7c01537a
This commit is contained in:
gecong1973 2016-10-17 09:18:02 +08:00
parent 69879dad8b
commit a68d6df930
1 changed files with 3 additions and 0 deletions

View File

@ -47,6 +47,9 @@ class OacFile(object):
return self.__dict__ == other.__dict__ return self.__dict__ == other.__dict__
return False return False
def __ne__(self, other):
return not self.__eq__(other)
def __repr__(self): def __repr__(self):
a = ["OacFile(%s" % repr(self.body)] a = ["OacFile(%s" % repr(self.body)]
for key, default in six.iteritems(self.DEFAULTS): for key, default in six.iteritems(self.DEFAULTS):