PyHash API

另請參閱PyTypeObject.tp_hash成員和數值型別的雜湊

type Py_hash_t

雜湊值型別:有符號整數。

在 3.2 版本中新增。

type Py_uhash_t

雜湊值型別:無符號整數。

在 3.2 版本中新增。

PyHASH_MODULUS

用於數值雜湊方案的梅森素數 P = 2**n -1

在 3.13 版本中新增。

PyHASH_BITS

PyHASH_MODULUSP 的指數 n

在 3.13 版本中新增。

PyHASH_MULTIPLIER

在字串和各種其他雜湊中使用的素數乘數。

在 3.13 版本中新增。

PyHASH_INF

為正無窮大返回的雜湊值。

在 3.13 版本中新增。

PyHASH_IMAG

用於複數虛部的乘數。

在 3.13 版本中新增。

type PyHash_FuncDef

PyHash_GetFuncDef()使用的雜湊函式定義。

const char *name

雜湊函式名稱(UTF-8 編碼的字串)。

const int hash_bits

雜湊值的內部大小,以位為單位。

const int seed_bits

種子輸入的大小,以位為單位。

在 3.4 版本中新增。

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 PyObject_GenericHash(PyObject *obj)

通用雜湊函式,旨在放入型別物件的 tp_hash 插槽。其結果僅取決於物件的身份。

CPython 實現細節: 在 CPython 中,它等價於 Py_HashPointer()

在 3.13 版本中新增。