ホームページ >バックエンド開発 >Python チュートリアル >hash() は Python に組み込まれていますか?

hash() は Python に組み込まれていますか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-12 18:06:232309ブラウズ

hash() は Python に組み込まれていますか?

ハッシュ関数 hash() は Python に組み込まれていますか?ハッシュ関数に関する関連知識をご紹介します。

hash(object)

オブジェクトがハッシュ可能なオブジェクトの場合、hash( )関数はそのハッシュ値を返します。オブジェクトがハッシュ可能なオブジェクトに属していない場合、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'

等しい (==) 値は同じハッシュ値を持ちます。2 つの等しい値が異なる型に属している場合でも、それらのハッシュ値は同じです (1 と 1.0:##) #

1 == 1.0 #> True
hash(1),hash(1.0) #> (1, 1)

tips: 2 つの等しい (==) オブジェクトは同じハッシュ値を持つ必要がありますが、それらを返すことが必ずしも当てはまるわけではありません。

注:

カスタム __hash__() メソッドを持つオブジェクトの場合、hash() 関数はホスト マシンのビット幅に従って __hash__ を切り捨てます。戻り値。

以上がhash() は Python に組み込まれていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。