PyHash API¶
Se även PyTypeObject.tp_hash
-medlemmen och Hashning av numeriska typer.
-
type Py_hash_t¶
Hashvärdestyp: signerat heltal.
Tillagd i version 3.2.
-
type Py_uhash_t¶
Typ av Hash-värde: osignerat heltal.
Tillagd i version 3.2.
-
PyHASH_MODULUS¶
Mersenne-primtalet
P = 2**n -1
, används för numeriska hashscheman.Tillagd i version 3.13.
-
PyHASH_BITS¶
Exponenten
n
förP
iPyHASH_MODULUS
.Tillagd i version 3.13.
-
PyHASH_MULTIPLIER¶
Prime-multiplikator som används i string och olika andra hashar.
Tillagd i version 3.13.
-
PyHASH_INF¶
Det hashvärde som returneras för en positiv oändlighet.
Tillagd i version 3.13.
-
PyHASH_IMAG¶
Den multiplikator som används för imaginärdelen av ett komplext tal.
Tillagd i version 3.13.
-
type PyHash_FuncDef¶
Hashfunktionsdefinition som används av
PyHash_GetFuncDef()
.-
const char *name¶
Hashfunktionens namn (UTF-8-kodad sträng).
-
const int hash_bits¶
Intern storlek på hash-värdet i bitar.
-
const int seed_bits¶
Storlek på inmatat frö i bitar.
Tillagd i version 3.4.
-
const char *name¶
-
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
Hämta definitionen av hashfunktionen.
Se även
PEP 456 ”Säker och utbytbar hashalgoritm”.
Tillagd i version 3.4.
-
Py_hash_t Py_HashPointer(const void *ptr)¶
Hash ett pekarvärde: bearbeta pekarvärdet som ett heltal (casta det till
uintptr_t
internt). Pekaren är inte dereferencerad.Funktionen kan inte misslyckas: den kan inte returnera
-1
.Tillagd i version 3.13.
-
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
Beräknar och returnerar hashvärdet för en buffert på len byte som börjar på adressen ptr. Hashvärdet kommer garanterat att matcha det i
bytes
,memoryview
och andra inbyggda objekt som implementerar buffer protocol.Använd denna funktion för att implementera hashing för oföränderliga objekt vars
tp_richcompare
-funktion jämför med ett annat objekts buffert.len måste vara större än eller lika med
0
.Denna funktion lyckas alltid.
Tillagd i version 3.14.
-
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
Generisk hashfunktion som är avsedd att placeras i ett typobjekts
tp_hash
slot. Dess resultat beror endast på objektets identitet.I CPython är det likvärdigt med
Py_HashPointer()
.Tillagd i version 3.13.