假设我有以下程序:
class A(object):
def __eq__(self, other):
return True
a0 = A()
a1 = A()
print a0 != a1
如果使用Python运行它,则输出为True
。我的问题是
__ne__
方法未实现,Python是否属于默认方法?__eq__
然后否定结果吗?答案 0 :(得分:12)
来自the docs:
比较运营商之间没有隐含的关系。
x==y
的真相并不意味着x!=y
是错误的。因此,在定义__eq__()
时,还应定义__ne__()
,以便运算符按预期运行。