正如问题所述,python docs陈述了一条相当矛盾的界限。有问题的线可以在this page找到。
有问题的一行说得很坦白:
“比较运算符之间没有隐含的关系.x == y的真实性并不意味着x!= y是假的。”
Python中是否有声明可以满足此声明?或者仅限于复杂的陷阱代码。
以下是==和!=都为True的示例
class MyClass:
def __init__(self):
pass
def __eq__(self, other):
return True
def __ne__(self, other):
return True
b1 = MyClass()
b2 = MyClass()
print b1 == b2
print b1 != b2
上面的两行都会打印出True