在Python中有一种称为__ne__
的神奇方法,该方法在对象!=
比较中触发。Python 2.7如果未定义__ne__,则进行比较
例子:
class A(object):
def __init__(self, a):
self.a = a
def __ne__(self, other):
return self.a != other.a
A(3) != A(3) # produces False
A(3) != A(2) # produces True
问题:
引擎盖如果__ne__
下会发生什么事是没有定义?
注意:在python 3.x !=
比较定义为任何__eq__
返回的反转。
我认为对象ID是比较,在这种情况下,假设我们没有单身人士,所有!=
比较将不得不返回True
。但显然,不同环境下的相同代码产生了不同的结果,所以我猜,还有其他的东西是比较而不是对象ID。
你是从哪里拿来的?你有链接到C实现这个功能吗? – vovaminiof
@vovaminiof编辑。 – turkus