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 版本中添加。