是的,如果您定义
__eq__,则默认值
__hash__(即对内存中对象的地址进行哈希处理)将消失。这很重要,因为散列必须与相等性保持一致:相等的对象需要对散列进行相同的散列。
解决方案很简单:只需将define
__hash__和define一起定义即可
__eq__。

是的,如果您定义
__eq__,则默认值
__hash__(即对内存中对象的地址进行哈希处理)将消失。这很重要,因为散列必须与相等性保持一致:相等的对象需要对散列进行相同的散列。
解决方案很简单:只需将define
__hash__和define一起定义即可
__eq__。