什么是实现__hash __()的正确和好方法?

什么是实现__hash __()的正确和好方法?,第1张

什么是实现__hash __()的正确和好方法

一种简单而正确的实现方法

__hash__()
是使用键元组。它不会像专门的哈希那样快,但是如果需要,则应该在C中实现该类型。

这是使用键进行哈希和相等的示例

class A:    def __key(self):        return (self.attr_a, self.attr_b, self.attr_c)    def __hash__(self):        return hash(self.__key())    def __eq__(self, other):        if isinstance(other, A): return self.__key() == other.__key()        return NotImplemented

此外,的文档

__hash__
还包含更多信息,这些信息在某些特定情况下可能会很有价值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存