Содержание страницы
Объекты дескрипторов¶Descriptor Objects
«Дескрипторы» – это объекты, описывающие некоторый атрибут объекта. Они находятся в словаре объектов типов.
-
PyTypeObject PyProperty_Type¶
- Часть Stable ABI.
Объект типа для встроенных типов дескрипторов.
-
PyObject *PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset)¶
- Возвращаемое значение: новая ссылка. Часть Stable ABI.
-
PyObject *PyDescr_NewMember(PyTypeObject *type, struct PyMemberDef *meth)¶
- Возвращаемое значение: новая ссылка. Часть Stable ABI.
-
PyTypeObject PyMemberDescr_Type¶
- Часть Stable ABI.
Объект типа для объектов дескрипторов элементов, созданных из структур
PyMemberDef. Эти дескрипторы предоставляют поля C-структуры как атрибуты типа и соответствуют объектамtypes.MemberDescriptorTypeв Python.
-
PyTypeObject PyGetSetDescr_Type¶
- Часть Stable ABI.
Объект типа для дескрипторов get/set, создаваемых из структур
PyGetSetDef. Эти дескрипторы реализуют атрибуты, значение которых вычисляется функциями getter и setter на C, и используются для многих атрибутов встроенных типов.
-
PyObject *PyDescr_NewMethod(PyTypeObject *type, struct PyMethodDef *meth)¶
- Возвращаемое значение: новая ссылка. Часть Stable ABI.
-
PyTypeObject PyMethodDescr_Type¶
- Часть Stable ABI.
Объект типа для объектов дескрипторов методов, созданных из структур
PyMethodDef. Эти дескрипторы предоставляют C-функции как методы типа и соответствуют объектамtypes.MemberDescriptorTypeв Python.
-
PyObject *PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *wrapper, void *wrapped)¶
- Возвращаемое значение: новая ссылка.
-
PyTypeObject PyWrapperDescr_Type¶
- Часть Stable ABI.
Объект типа для объектов дескрипторов-обёрток, создаваемых
PyDescr_NewWrapper()иPyWrapper_New(). Дескрипторы-обёртки используются внутри для предоставления специальных методов, реализованных через структуры-обёртки, и в Python представляются объектамиtypes.WrapperDescriptorType.
-
PyObject *PyDescr_NewClassMethod(PyTypeObject *type, PyMethodDef *method)¶
- Возвращаемое значение: новая ссылка. Часть Stable ABI.
-
int PyDescr_IsData(PyObject *descr)¶
Возвращает ненулевое значение, если объект-дескриптор descr описывает атрибут данных, или
0, если он описывает метод. descr должен быть объектом-дескриптором; проверка ошибок не выполняется.
-
PyObject *PyWrapper_New(PyObject*, PyObject*)¶
- Возвращаемое значение: новая ссылка. Часть Stable ABI.
Встроенные дескрипторы¶Built-in descriptors
-
PyTypeObject PySuper_Type¶
- Часть Stable ABI.
Объект типа для объектов super. Это тот же объект, что и
superв слое Python.
-
PyTypeObject PyClassMethod_Type¶
Тип объектов методов класса. Это тот же объект, что и
classmethodв слое Python.
-
PyTypeObject PyClassMethodDescr_Type¶
- Часть Stable ABI.
Объект типа для дескрипторов методов класса на уровне C. Это тип дескрипторов, создаваемых для
classmethod(), определённых в C-расширениях типов, и это тот же объект, что иclassmethodв Python.
-
PyObject *PyClassMethod_New(PyObject *callable)¶
Создаёт новый объект
classmethod, оборачивающий callable. callable должен быть вызываемым объектом и не должен бытьNULL.В случае успеха эта функция возвращает сильную ссылку на новый дескриптор метода класса. При неудаче возвращает
NULLс установленным исключением.
-
PyTypeObject PyStaticMethod_Type¶
Тип объектов статических методов. Это тот же объект, что и
staticmethodв слое Python.
-
PyObject *PyStaticMethod_New(PyObject *callable)¶
Создаёт новый объект
staticmethod, оборачивающий callable. callable должен быть вызываемым объектом и не должен бытьNULL.В случае успеха эта функция возвращает сильную ссылку на новый дескриптор статического метода. При неудаче возвращает
NULLс установленным исключением.