PyHash API

另请参阅 PyTypeObject.tp_hash 成员和 數值型別的雜湊

type Py_hash_t

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

Added in version 3.2.

type Py_uhash_t

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

Added in version 3.2.

PyHASH_MODULUS

梅森素数 P = 2**n -1,用于数字哈希方案。

Added in version 3.13.

PyHASH_BITS

PPyHASH_MODULUS 中的 n 次幂。

Added in version 3.13.

PyHASH_MULTIPLIER

质因数被用于字符串和多种其他哈希算法中。

Added in version 3.13.

PyHASH_INF

针对正无穷大返回的哈希值。

Added in version 3.13.

PyHASH_IMAG

用于复数虚部的乘数。

Added in version 3.13.

type PyHash_FuncDef

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

const char *name

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

const int hash_bits

雜湊值的內部大小(以位元為單位)。

const int seed_bits

Seed 輸入的大小(以位元為單位)。

Added in version 3.4.

PyHash_FuncDef *PyHash_GetFuncDef(void)

取得雜湊函式定義。

也參考

PEP 456「安全且可交替使用的雜湊演算法 (Secure and interchangeable hash algorithm)」。

Added in version 3.4.

Py_hash_t Py_HashPointer(const void *ptr)

对指针值执行哈希运算:将指针值作为整数来处理(在内部将其转换为 uintptr_t 类型)。 指针不会被撤销引用。

此函数不会失败:它不可能返回 -1

Added in version 3.13.

Py_hash_t PyObject_GenericHash(PyObject *obj)

将会被放入类型对象的 tp_hash 槽位的泛型哈希函数。 其结果值仅取决于对象的标识号。

CPython 實作細節: 在 CPython 中,它等价于 Py_HashPointer()

Added in version 3.13.