首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中实现一个好的__hash__函数

如何在python中实现一个好的__hash__函数
EN

Stack Overflow用户
提问于 2010-10-24 01:54:24
回答 2查看 87K关注 0票数 114

当实现具有多个属性的类时(如下面的玩具示例),处理散列的最佳方法是什么?

我猜__eq____hash__应该是一致的,但是如何实现一个能够处理所有属性的合适的哈希函数呢?

代码语言:javascript
复制
class AClass:
  def __init__(self):
      self.a = None
      self.b = None

  def __eq__(self, other):
      return other and self.a == other.a and self.b == other.b

  def __ne__(self, other):
    return not self.__eq__(other)

  def __hash__(self):
      return hash((self.a, self.b))

我在this question上读到元组是可哈希的,所以我想知道上面的例子是不是很合理。是吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4005318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档