虽然标题可以解释为三个问题,但实际问题很容易描述。在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