Heim >Backend-Entwicklung >Python-Tutorial >Ist hash() in Python integriert?

Ist hash() in Python integriert?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-12 18:06:232307Durchsuche

Ist hash() in Python integriert?

Ist die Hash-Funktion hash() in Python integriert? Lassen Sie mich Ihnen das relevante Wissen über Hash-Funktionen vorstellen:

hash(object)

Wenn das Objekt ein hashbares Objekt ist, hash( ) Die Funktion gibt ihren Hashwert zurück. Wenn das Objekt nicht zu einem hashbaren Objekt gehört, löst die Funktion hash() eine Ausnahme aus. Der Hashwert ist eine Ganzzahl.

Verwandte Empfehlungen: „Python-Video-Tutorial“

hash('orca_j35') #> 3721949548176702466
hash([1,2]) #> TypeError: unhashable type: 'list

Beim Nachschlagen eines Wörterbuchs werden Hash-Werte verwendet, um Wörterbuchschlüssel schnell zu vergleichen. Objekte mit demselben Hashwert werden vom Wörterbuch als derselbe Schlüssel behandelt.

x = (1,2)y = (1,2)
# x和y是具备不同id的对象
x is y #> False
z = {x:"orca"}
# 只要哈希值相同,便可互换使用
z[y] #> 'orca'

Gleiche (==) Werte haben den gleichen Hashwert. Auch wenn zwei gleiche Werte zu unterschiedlichen Typen gehören, sind ihre Hashwerte gleich, z. B. 1 und 1,0:

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

Tipps: Zwei gleiche (==) Objekte müssen den gleichen Hashwert haben, dieser gilt jedoch nicht unbedingt als wahr, wenn sie zurückgegeben werden.

Hinweis:

Bei Objekten mit benutzerdefinierten __hash__()-Methoden schneidet die hash()-Funktion __hash__ entsprechend der Bitbreite der Host-Maschine()-Rückgabe ab Wert.

Das obige ist der detaillierte Inhalt vonIst hash() in Python integriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn