PyHash API

See also thePyTypeObject.tp_hash member andΚατακερματισμός των αριθμητικών τύπων.

typePy_hash_t

Hash value type: signed integer.

Added in version 3.2.

typePy_uhash_t

Hash value type: unsigned integer.

Added in version 3.2.

PyHASH_MODULUS

TheMersenne primeP=2**n-1, used for numeric hash scheme.

Added in version 3.13.

PyHASH_BITS

The exponentn ofP inPyHASH_MODULUS.

Added in version 3.13.

PyHASH_MULTIPLIER

Prime multiplier used in string and various other hashes.

Added in version 3.13.

PyHASH_INF

The hash value returned for a positive infinity.

Added in version 3.13.

PyHASH_IMAG

The multiplier used for the imaginary part of a complex number.

Added in version 3.13.

typePyHash_FuncDef

Hash function definition used byPyHash_GetFuncDef().

constchar*name

Hash function name (UTF-8 encoded string).

constinthash_bits

Internal size of the hash value in bits.

constintseed_bits

Size of seed input in bits.

Added in version 3.4.

PyHash_FuncDef*PyHash_GetFuncDef(void)

Get the hash function definition.

Δείτε επίσης

PEP 456 «Secure and interchangeable hash algorithm».

Added in version 3.4.

Py_hash_tPy_HashPointer(constvoid*ptr)

Hash a pointer value: process the pointer value as an integer (cast it touintptr_t internally). The pointer is not dereferenced.

The function cannot fail: it cannot return-1.

Added in version 3.13.

Py_hash_tPy_HashBuffer(constvoid*ptr,Py_ssize_tlen)

Compute and return the hash value of a buffer oflen bytesstarting at addressptr. The hash is guaranteed to match that ofbytes,memoryview, and other built-in objectsthat implement thebuffer protocol.

Use this function to implement hashing for immutable objects whosetp_richcompare function compares to anotherobject’s buffer.

len must be greater than or equal to0.

This function always succeeds.

Added in version 3.14.

Py_hash_tPyObject_GenericHash(PyObject*obj)

Generic hashing function that is meant to be put into a typeobject’stp_hash slot.Its result only depends on the object’s identity.

Λεπτομέρεια υλοποίησης CPython: In CPython, it is equivalent toPy_HashPointer().

Added in version 3.13.