“Descriptors” are objects that describe some attribute of an object. They are found in the dictionary of type objects.
The type object for the built-in descriptor types.
The type object for member descriptor objects created from
PyMemberDef structures. These descriptors expose fields of a
C struct as attributes on a type, and correspond
to types.MemberDescriptorType objects in Python.
The type object for get/set descriptor objects created from
PyGetSetDef structures. These descriptors implement attributes
whose value is computed by C getter and setter functions, and are used
for many built-in type attributes.
The type object for method descriptor objects created from
PyMethodDef structures. These descriptors expose C functions as
methods on a type, and correspond to types.MemberDescriptorType
objects in Python.
The type object for wrapper descriptor objects created by
PyDescr_NewWrapper() and PyWrapper_New(). Wrapper
descriptors are used internally to expose special methods implemented
via wrapper structures, and appear in Python as
types.WrapperDescriptorType objects.
Return non-zero if the descriptor object descr describes a data attribute, or
0 if it describes a method. descr must be a descriptor object; there is
no error checking.
The type object for super objects. This is the same object as
super in the Python layer.
The type of class method objects. This is the same object as
classmethod in the Python layer.
The type object for C-level class method descriptor objects.
This is the type of the descriptors created for classmethod() defined in
C extension types, and is the same object as classmethod
in Python.
Create a new classmethod object wrapping callable.
callable must be a callable object and must not be NULL.
On success, this function returns a strong reference to a new class
method descriptor. On failure, this function returns NULL with an
exception set.
The type of static method objects. This is the same object as
staticmethod in the Python layer.
Create a new staticmethod object wrapping callable.
callable must be a callable object and must not be NULL.
On success, this function returns a strong reference to a new static
method descriptor. On failure, this function returns NULL with an
exception set.