API PyHash¶
См. также члены PyTypeObject.tp_hash
и Хеширование числовых типов.
-
type Py_hash_t¶
Тип хэш-значения: целое число со знаком.
Added in version 3.2.
-
type Py_uhash_t¶
Тип хэш-значения: беззнаковое целое.
Added in version 3.2.
-
PyHASH_MODULUS¶
В качестве параметра Mersenne prime
P = 2**n -1
, используемый для числовой схемы хэширования.Added in version 3.13.
-
PyHASH_BITS¶
Экспонента
n
отP
вPyHASH_MODULUS
.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 PyObject_GenericHash(PyObject *obj)¶
Общая функция хеширования, предназначенная для размещения в слоте
tp_hash
объекта типа. Ее результат зависит только от идентификатора объекта.Детали реализации CPython: В CPython это эквивалентно
Py_HashPointer()
.Added in version 3.13.