虽然标题可以理解为三个问题,但实际问题描述起来很简单。在 Linux 系统上,我安装了 python 2.7.3,并希望收到有关 python 3 不兼容性的警告。因此,我的代码片段 ( tester.py
) 看起来像:
#!/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 兼容?我想以正确的方式实现相等运算符,而不仅仅是抑制警告或类似的东西。