在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