PyHash API¶
Siehe auch das Mitglied PyTypeObject.tp_hash und Hashing von numerischen Typen.
-
Typ Py_hash_t¶
Hash-Wert-Typ: vorzeichenbehaftete Ganzzahl.
Hinzugefügt in Version 3.2.
-
Typ Py_uhash_t¶
Hash-Wert-Typ: vorzeichenlose Ganzzahl.
Hinzugefügt in Version 3.2.
-
PyHASH_MODULUS¶
Die Mersenne-Primzahl
P = 2**n -1, verwendet für das numerische Hash-Schema.Hinzugefügt in Version 3.13.
-
PyHASH_BITS¶
Der Exponent
nvonPinPyHASH_MODULUS.Hinzugefügt in Version 3.13.
-
PyHASH_MULTIPLIER¶
Primzahl-Multiplikator, der in Zeichenketten und verschiedenen anderen Hashes verwendet wird.
Hinzugefügt in Version 3.13.
-
PyHASH_INF¶
Der für eine positive Unendlichkeit zurückgegebene Hash-Wert.
Hinzugefügt in Version 3.13.
-
PyHASH_IMAG¶
Der Multiplikator für den Imaginärteil einer komplexen Zahl.
Hinzugefügt in Version 3.13.
-
Typ PyHash_FuncDef¶
Hash-Funktionsdefinition, die von
PyHash_GetFuncDef()verwendet wird.-
Py_hash_t (*const hash)(const void*, Py_ssize_t)¶
Hash-Funktion.
-
const char *name¶
Name der Hash-Funktion (UTF-8-kodierte Zeichenkette).
-
const int hash_bits¶
Interne Größe des Hash-Werts in Bits.
-
const int seed_bits¶
Größe des Seed-Inputs in Bits.
Hinzugefügt in Version 3.4.
-
Py_hash_t (*const hash)(const void*, Py_ssize_t)¶
-
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
Gibt die Hash-Funktionsdefinition zurück.
Siehe auch
PEP 456 „Sicherer und austauschbarer Hash-Algorithmus“.
Hinzugefügt in Version 3.4.
-
Py_hash_t Py_HashPointer(const void *ptr)¶
Hash eines Zeigerwerts: Verarbeitet den Zeigerwert als Ganzzahl (konvertiert ihn intern in
uintptr_t). Der Zeiger wird nicht dereferenziert.Die Funktion kann nicht fehlschlagen: sie kann nicht
-1zurückgeben.Hinzugefügt in Version 3.13.
-
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
Berechnet und gibt den Hash-Wert eines Puffers von len Bytes ab der Adresse ptr zurück. Der Hash stimmt garantiert mit dem von
bytes,memoryviewund anderen eingebauten Objekten überein, die das Pufferprotokoll implementieren.Verwenden Sie diese Funktion, um das Hashing für unveränderliche Objekte zu implementieren, deren
tp_richcompare-Funktion (siehePyTypeObject.tp_richcompare) mit dem Puffer eines anderen Objekts vergleicht.len muss größer oder gleich
0sein.Diese Funktion ist immer erfolgreich.
Hinzugefügt in Version 3.14.
-
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
Generische Hashing-Funktion, die für den `tp_hash`-Slot eines Typobjekts bestimmt ist. Ihr Ergebnis hängt nur von der Identität des Objekts ab.
CPython-Implementierungsdetail: In CPython ist dies äquivalent zu
Py_HashPointer().Hinzugefügt in Version 3.13.