Maison >développement back-end >Tutoriel Python >hash() est-il intégré à Python ?

hash() est-il intégré à Python ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-12 18:06:232314parcourir

hash() est-il intégré à Python ?

La fonction de hachage hash() est-elle intégrée en python ? Permettez-moi de vous présenter les connaissances pertinentes sur les fonctions de hachage :

hash(object)

Si l'objet est un objet hachable, hash( ) La fonction renverra sa valeur de hachage ; si l'objet n'appartient pas à un objet hachable, la fonction hash() lèvera une exception. La valeur de hachage est un entier.

Recommandations associées : "tutoriel vidéo python"

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

Lors de la recherche d'un dictionnaire, les valeurs de hachage sont utilisées pour comparer rapidement les clés du dictionnaire. Les objets avec la même valeur de hachage sont traités comme la même clé par le dictionnaire.

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

Les valeurs égales (==) ont la même valeur de hachage Même si deux valeurs égales appartiennent à des types différents, leurs valeurs de hachage sont les mêmes, comme 1 et 1.0 :

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

astuces : Deux objets égaux (==) doivent avoir la même valeur de hachage, mais cela n'est pas nécessairement vrai s'ils sont renvoyés.

Remarque :

Pour les objets avec des méthodes __hash__() personnalisées, la fonction hash() tronquera __hash__ en fonction de la largeur de bits du retour de la machine hôte (). valeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn