雖然標題可以解釋爲三個問題,但實際問題很容易描述。在Linux系統上,我安裝了python 2.7.3,並且想要警告python 3不兼容。因此,我的代碼片段(tester.py
)看起來像:如何消除相等運算符的python3棄用警告?
#!/usr/bin/python -3
class MyClass(object):
def __eq__(self, other):
return False
當我執行這個代碼片斷(被認爲是隻顯示問題,而不是實際的代碼,我用我的項目)作爲
./tester.py
我得到以下棄用警告:
./tester.py:3: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
class MyClass(object):
我的問題:如何更改此代碼段擺脫了警告,即以使其兼容版本3?我想以正確的方式實現相等運算符,而不僅僅是壓制警告或類似的東西。
'__eq__'將返回false從'object'繼承的對象,除非'A爲A' – thkang 2013-03-18 07:39:53