Descriptor Objects¶
“Descriptors” are objects that describe some attribute of an object. They arefound in the dictionary of type objects.
- PyTypeObjectPyProperty_Type¶
- Part of theStable ABI.
The type object for the built-in descriptor types.
- PyObject*PyDescr_NewGetSet(PyTypeObject*type,structPyGetSetDef*getset)¶
- Return value: New reference. Part of theStable ABI.
- PyObject*PyDescr_NewMember(PyTypeObject*type,structPyMemberDef*meth)¶
- Return value: New reference. Part of theStable ABI.
- PyTypeObjectPyMemberDescr_Type¶
- Part of theStable ABI.
The type object for member descriptor objects created from
PyMemberDefstructures. These descriptors expose fields of aC struct as attributes on a type, and correspondtotypes.MemberDescriptorTypeobjects in Python.
- PyTypeObjectPyGetSetDescr_Type¶
- Part of theStable ABI.
The type object for get/set descriptor objects created from
PyGetSetDefstructures. These descriptors implement attributeswhose value is computed by C getter and setter functions, and are usedfor many built-in type attributes.
- PyObject*PyDescr_NewMethod(PyTypeObject*type,structPyMethodDef*meth)¶
- Return value: New reference. Part of theStable ABI.
- PyTypeObjectPyMethodDescr_Type¶
- Part of theStable ABI.
The type object for method descriptor objects created from
PyMethodDefstructures. These descriptors expose C functions asmethods on a type, and correspond totypes.MemberDescriptorTypeobjects in Python.
- PyObject*PyDescr_NewWrapper(PyTypeObject*type,structwrapperbase*wrapper,void*wrapped)¶
- Return value: New reference.
- PyTypeObjectPyWrapperDescr_Type¶
- Part of theStable ABI.
The type object for wrapper descriptor objects created by
PyDescr_NewWrapper()andPyWrapper_New(). Wrapperdescriptors are used internally to expose special methods implementedvia wrapper structures, and appear in Python astypes.WrapperDescriptorTypeobjects.
- PyObject*PyDescr_NewClassMethod(PyTypeObject*type,PyMethodDef*method)¶
- Return value: New reference. Part of theStable ABI.
- intPyDescr_IsData(PyObject*descr)¶
Return non-zero if the descriptor objectdescr describes a data attribute, or
0if it describes a method.descr must be a descriptor object; there isno error checking.
- PyObject*PyWrapper_New(PyObject*,PyObject*)¶
- Return value: New reference. Part of theStable ABI.
Built-in descriptors¶
- PyTypeObjectPySuper_Type¶
- Part of theStable ABI.
The type object for super objects. This is the same object as
superin the Python layer.
- PyTypeObjectPyClassMethod_Type¶
The type of class method objects. This is the same object as
classmethodin the Python layer.
- PyTypeObjectPyClassMethodDescr_Type¶
- Part of theStable ABI.
The type object for C-level class method descriptor objects.This is the type of the descriptors created for
classmethod()defined inC extension types, and is the same object asclassmethodin Python.
- PyObject*PyClassMethod_New(PyObject*callable)¶
Create a new
classmethodobject wrappingcallable.callable must be a callable object and must not beNULL.On success, this function returns astrong reference to a new classmethod descriptor. On failure, this function returns
NULLwith anexception set.
- PyTypeObjectPyStaticMethod_Type¶
The type of static method objects. This is the same object as
staticmethodin the Python layer.
- PyObject*PyStaticMethod_New(PyObject*callable)¶
Create a new
staticmethodobject wrappingcallable.callable must be a callable object and must not beNULL.On success, this function returns astrong reference to a new staticmethod descriptor. On failure, this function returns
NULLwith anexception set.