哈希函数hash()是python内置的吗?下面给人人引见一下哈希函数的相干学问:
hash(object)
假如 object 属于可哈希对象,hash() 函数将返回其哈希值;假如 object 不属于可哈希对象,hash() 函数则会抛出非常。哈希值是一个整数。
相干引荐:《python视频教程》
hash('orca_j35') #> 3721949548176702466 hash([1,2]) #> TypeError: unhashable type: 'list
在查找字典时,会运用哈希值来疾速比较字典的键。具有雷同哈希值的对象,被字典视作同一个键。
x = (1,2)y = (1,2) # x和y是具有差别id的对象 x is y #> False z = {x:"orca"} # 只需哈希值雷同,便可交换运用 z[y] #> 'orca'
相称(==)的数值具有雷同的哈希值,纵然两个相称的数值属于差别的范例,它们的哈希值也雷同,比方 1 和 1.0:
1 == 1.0 #> True hash(1),hash(1.0) #> (1, 1)
tips: 两个相称(==)的对象一定具有雷同的哈希值,但返回过并不一定建立。
注重:
关于具有自定义 __hash__() 要领的对象,hash() 函数会依据主机(host machine)的位宽来截断 __hash__() 的返回值。
以上就是hash()是python内置的吗的细致内容,更多请关注ki4网别的相干文章!