PyHash API¶
另請參閱 PyTypeObject.tp_hash
成員和數值型別的雜湊。
-
型別 Py_hash_t¶
雜湊值型別:有符號整數。
在 3.2 版本加入。
-
型別 Py_uhash_t¶
雜湊值型別:無符號整數。
在 3.2 版本加入。
-
PyHASH_BITS¶
PyHASH_MODULUS
中P
的指數n
。在 3.13 版本加入。
-
PyHASH_MULTIPLIER¶
在字串和各種其他雜湊中使用的素數乘數。
在 3.13 版本加入。
-
PyHASH_INF¶
對於正無窮大返回的雜湊值。
在 3.13 版本加入。
-
PyHASH_IMAG¶
用於複數虛部的乘數。
在 3.13 版本加入。
-
型別 PyHash_FuncDef¶
PyHash_GetFuncDef()
使用的雜湊函式定義。-
Py_hash_t (*const hash)(const void*, Py_ssize_t)¶
雜湊函式。
-
const char *name¶
雜湊函式名稱(UTF-8 編碼字串)。
-
const int hash_bits¶
雜湊值的內部大小(以位為單位)。
-
const int seed_bits¶
種子輸入的位大小。
在 3.4 版本加入。
-
Py_hash_t (*const hash)(const void*, Py_ssize_t)¶
-
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
獲取雜湊函式定義。
參見
PEP 456 “安全且可互換的雜湊演算法”。
在 3.4 版本加入。
-
Py_hash_t Py_HashPointer(const void *ptr)¶
對指標值進行雜湊:將指標值作為整數處理(內部將其強制轉換為
uintptr_t
)。指標不會被解引用。該函式不會失敗:它不會返回
-1
。在 3.13 版本加入。
-
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
計算並返回從地址 ptr 開始的 len 位元組緩衝區的雜湊值。該雜湊保證與
bytes
、memoryview
以及其他實現緩衝區協議的內建物件匹配。使用此函式為不可變物件實現雜湊,其
tp_richcompare
函式將與另一個物件的緩衝區進行比較。len 必須大於或等於
0
。此函式總是成功的。
在 3.14 版本加入。
-
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
通用雜湊函式,旨在放置在型別物件的
tp_hash
插槽中。其結果僅取決於物件的標識。CPython 實現細節: 在 CPython 中,它等效於
Py_HashPointer()
。在 3.13 版本加入。