Объекты функций
Существует несколько функций, специфичных для функций Python.
-
PyFunctionObject -
Структура C, используемая для функций.
-
PyTypeObject PyFunction_Type -
Это экземпляр
PyTypeObjectи представляет собой тип функции Python. Он доступен программистам Python какtypes.FunctionType.
-
int PyFunction_Check(PyObject *o) -
Возвращает true, если o является объектом функции (имеет тип
PyFunction_Type). Параметр не должен бытьNULL. Эта функция всегда выполняется успешно.
-
PyObject* PyFunction_New(PyObject *code, PyObject *globals) -
Значение возврата: Новая ссылка.
Возвращает новый объект функции, связанный с объектом кода code. globals должен быть словарем со глобальными переменными, доступными для функции.
Документация функции и её имя извлекаются из объекта кода. __module__ извлекается из globals. Значения аргументов по умолчанию, аннотации и замыкание установлены в
NULL. __qualname__ устанавливается в такое же значение, как имя функции.
-
PyObject* PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname) -
Значение возврата: Новая ссылка.
Как
PyFunction_New(), но также позволяет задать атрибут объекта функции__qualname__. qualname должен быть объектом unicode илиNULL; еслиNULL, атрибут__qualname__устанавливается в такое же значение, как его атрибут__name__.Введено в версии 3.3.
-
PyObject* PyFunction_GetCode(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает объект кода, связанный с объектом функции op.
-
PyObject* PyFunction_GetGlobals(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает словарь глобальных переменных, связанный с объектом функции op.
-
PyObject* PyFunction_GetModule(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает атрибут __module__ объекта функции op. Обычно это строка, содержащая имя модуля, но может быть установлено любым другим объектом кодом Python.
-
PyObject* PyFunction_GetDefaults(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает значения аргументов по умолчанию объекта функции op. Это может быть кортеж аргументов или
NULL.
-
int PyFunction_SetDefaults(PyObject *op, PyObject *defaults) -
Устанавливает значения аргументов по умолчанию для объекта функции op. defaults должно быть
Py_Noneили кортежем.Возбуждает
SystemErrorи возвращает-1при ошибке.
-
PyObject* PyFunction_GetClosure(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает замыкание, связанное с объектом функции op. Это может быть
NULLили кортеж объектов ячеек.
-
int PyFunction_SetClosure(PyObject *op, PyObject *closure) -
Устанавливает замыкание, связанное с объектом функции op. closure должно быть
Py_Noneили кортежем объектов ячеек.Возбуждает
SystemErrorи возвращает-1при ошибке.
-
PyObject *PyFunction_GetAnnotations(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает аннотации объекта функции op. Это может быть изменяемый словарь или
NULL.
-
int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations) -
Устанавливает аннотации для объекта функции op. annotations должен быть словарем или
Py_None.Возбуждает
SystemErrorи возвращает-1при ошибке.
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/c-api/function.html