Fonction hash() de Python
Fonctions intégrées de Python3
hash()est une fonction intégrée de Python utilisée pour renvoyer la valeur de hachage d'un objet.
La valeur de hachage est un entier utilisé pour comparer rapidement des objets. Les clés de dictionnaire et les éléments d'ensemble doivent être hachables. Les objets immuables sont généralement hachables.
Signification du mot: hash 意为"哈希",返回对象的哈希值。
Syntaxe de base et paramètres
Format de syntaxe
hash(object)
Description du paramètre
- Paramètre object:
- Type : Tout objet
- Description : L'objet dont la valeur de hachage doit être calculée.
Description de la fonction
- Valeur de retour: Renvoie la valeur de hachage (entier) de l'objet.
- Exigence: L'objet doit être hachable (c'est-à-dire qu'il implémente la méthode __hash__).
Exemples
Exemple 1 : Utilisation de base
Exemple
# Nombres
print(hash(1)) # Sortie : 1
print(hash(3.14)) # Sortie : 314159
print(hash(-100)) # Sortie : -100
# Chaînes de caractères
print(hash("hello")) # Sortie : valeur de hachage
print(hash("world")) # Sortie : une autre valeur de hachage
# Tuple (hachable)
print(hash((1, 2, 3))) # Sortie : valeur de hachage
# Liste (non hachable)
# print(hash([1, 2, 3])) # lèvera une TypeError
print(hash(1)) # Sortie : 1
print(hash(3.14)) # Sortie : 314159
print(hash(-100)) # Sortie : -100
# Chaînes de caractères
print(hash("hello")) # Sortie : valeur de hachage
print(hash("world")) # Sortie : une autre valeur de hachage
# Tuple (hachable)
print(hash((1, 2, 3))) # Sortie : valeur de hachage
# Liste (non hachable)
# print(hash([1, 2, 3])) # lèvera une TypeError
Sortie attendue :
Les objets ayant la même valeur ont toujours la même valeur de hachage.
Exemple 2 : Utilisation dans les dictionnaires et les ensembles
Exemple
# Les clés d'un dictionnaire doivent être hachables
d = {"name": "Tom", "age": 20}
print(d["name"]) # Sortie : Tom
# Les éléments d'un ensemble doivent être hachables
s = {1, 2, 3, "hello"}
print(3 in s) # Sortie: True
# Hachage d'une classe personnalisée
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __hash__(self):
return hash((self.x, self.y))
p = Point(1, 2)
print(hash(p)) # Sortie : valeur de hachage
d = {"name": "Tom", "age": 20}
print(d["name"]) # Sortie : Tom
# Les éléments d'un ensemble doivent être hachables
s = {1, 2, 3, "hello"}
print(3 in s) # Sortie: True
# Hachage d'une classe personnalisée
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __hash__(self):
return hash((self.x, self.y))
p = Point(1, 2)
print(hash(p)) # Sortie : valeur de hachage
Sortie :
Les valeurs de hachage permettent d'utiliser des objets comme clés de dictionnaire et éléments d'ensemble.
hash()C'est le fondement des opérations liées au hachage en Python.
Fonctions intégrées de Python3
Autres extensions