1.  
  2. 主页
  3.  / 
  4. Python基础到高级
  5.  / 
  6. 魔术方法
  7.  / 
  8. hash

hash

hash

在python3中,所有的类都是默认继承object的,在object中有一个hash的魔术方法

在使用内置的hash对某个对象求hash值的时候,会调用对象的__hash__方法

hash的返回值必须是int类型的数据

可hash对象,就是具有__hash__方法的对象

当可hash对象的返回值被重写修改为非int类型的时候,就是不可hash的对象了

一个类如果没有重写__hash__方法的话,这个类的每个对象,通常有不同的hash

通常__hash__会和__eq__一起使用,因为解释器通常同时判断hash是否相等,以及实例是否相等

当对象实现了__len__方法的时候,可以使用内置方法len求对象的长度,__len__方法必须返回非负整数

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注