組み込み関数 hash
hash(object)
オブジェクトのハッシュ値を返します。ハッシュとは、プログラムで検索などを行う時などに使う技法で、オブジェクトに対してほぼ一意の整数を割り当てることで検索を速くします。この技術によって割り当てられた数値をハッシュ値といいます。ハッシュ値は整数です。等しい値となる数値は等しいハッシュ値を持ちます。
例で示しますが、完全に一意の整数を割り当てることは無理なので、使うときは注意が必要です。
#coding: shift-jis
print hash(1)
print hash(1.0) ←整数はハッシュ値に違いはありません。
print hash('1')
print hash("1") ←シングル/ダブル・クォーテーションでも違いはありません。
print hash(1.45)
if hash(1.45) != hash(214171648): ←無理やり1.45のハッシュ値に合わせます。
print 'マジかい'
else:
print 'No!!!' ←当然1.45と214171648はいっしょではないので注意が必要です。
raw_input()
出力画面:
1
1
-842352753
-842352753
214171648
No!!!