Python hash()-Funktion
Python3 integrierte Funktionen
hash()ist eine in Python integrierte Funktion, die verwendet wird, um den Hashwert eines Objekts zurückzugeben.
Der Hashwert ist eine Ganzzahl, die zum schnellen Vergleichen von Objekten verwendet wird. Wörterbuchschlüssel und Mengenelemente müssen hashbar sein. Unveränderliche Objekte sind normalerweise hashbar.
Wortbedeutung: hash 意为"哈希",返回对象的哈希值。
Grundlegende Syntax und Parameter
Syntaxformat
hash(object)
Parameterbeschreibung
- Parameter object:
- Typ: Beliebiges Objekt
- Beschreibung: Das Objekt, dessen Hashwert berechnet werden soll.
Funktionsbeschreibung
- Rückgabewert: Gibt den Hashwert (Ganzzahl) des Objekts zurück.
- Voraussetzung: Das Objekt muss hashbar sein (d. h., es implementiert die __hash__-Methode).
Beispiele
Beispiel 1: Grundlegende Verwendung
Beispiel
# Zahlen
print(hash(1)) # Ausgabe: 1
print(hash(3.14)) # Ausgabe: 314159
print(hash(-100)) # Ausgabe: -100
# Zeichenketten
print(hash("hello")) # Ausgabe: Hash-Wert
print(hash("world")) # Ausgabe: ein weiterer Hash-Wert
# Tupel (hashbar)
print(hash((1, 2, 3))) # Ausgabe: Hash-Wert
# Liste (nicht hashbar)
# print(hash([1, 2, 3])) # löst TypeError aus
print(hash(1)) # Ausgabe: 1
print(hash(3.14)) # Ausgabe: 314159
print(hash(-100)) # Ausgabe: -100
# Zeichenketten
print(hash("hello")) # Ausgabe: Hash-Wert
print(hash("world")) # Ausgabe: ein weiterer Hash-Wert
# Tupel (hashbar)
print(hash((1, 2, 3))) # Ausgabe: Hash-Wert
# Liste (nicht hashbar)
# print(hash([1, 2, 3])) # löst TypeError aus
Erwartete Ausgabe:
Objekte mit demselben Wert haben immer denselben Hash-Wert.
Beispiel 2: Verwendung in Dictionaries und Sets
Beispiel
# Dictionary-Schlüssel müssen hashbar sein
d = {"name": "Tom", "age": 20}
print(d["name"]) # Ausgabe: Tom
# Set-Elemente müssen hashbar sein
s = {1, 2, 3, "hello"}
print(3 in s) # Ausgabe: True
# Hash einer benutzerdefinierten Klasse
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)) # Ausgabe: Hash-Wert
d = {"name": "Tom", "age": 20}
print(d["name"]) # Ausgabe: Tom
# Set-Elemente müssen hashbar sein
s = {1, 2, 3, "hello"}
print(3 in s) # Ausgabe: True
# Hash einer benutzerdefinierten Klasse
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)) # Ausgabe: Hash-Wert
Ausgabe:
Hash-Werte ermöglichen es, Objekte als Dictionary-Schlüssel und Set-Elemente zu verwenden.
hash()Es ist die Grundlage für hashbezogene Operationen in Python.
Python3 integrierte Funktionen
Andere Erweiterungen