PyHash API¶
另请参阅 PyTypeObject.tp_hash
成员和 数字类型的哈希运算。
-
type Py_hash_t¶
哈希值类型:有符号整数。
Added in version 3.2.
-
type Py_uhash_t¶
哈希值类型:无符号整数。
Added in version 3.2.
-
PyHASH_BITS¶
P
在PyHASH_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¶
以比特位表示的输入种子值大小。
Added in version 3.4.
-
const char *name¶
-
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
获取哈希函数定义。
参见
PEP 456 "安全且可互换的哈希算法"。
Added in version 3.4.
-
Py_hash_t Py_HashPointer(const void *ptr)¶
对指针值执行哈希运算:将指针值作为整数来处理(在内部将其转换为
uintptr_t
类型)。 指针不会被撤销引用。此函数不会失败:它不可能返回
-1
。Added in version 3.13.
-
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
Compute and return the hash value of a buffer of len bytes starting at address ptr. The hash is guaranteed to match that of
bytes
,memoryview
, and other built-in objects that implement the buffer protocol.Use this function to implement hashing for immutable objects whose
tp_richcompare
function compares to another object's buffer.len must be greater than or equal to
0
.This function always succeeds.
Added in version 3.14.
-
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
将会被放入类型对象的
tp_hash
槽位的泛型哈希函数。 其结果值仅取决于对象的标识号。CPython 实现细节: 在 CPython 中,它等价于
Py_HashPointer()
。Added in version 3.13.