首頁 >後端開發 >Python教學 >hash()是python內建的嗎

hash()是python內建的嗎

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-12 18:06:232307瀏覽

hash()是python內建的嗎

雜湊函數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內建的嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn