Объекты функций
Существует несколько функций, специфичных для функций Python.
-
type 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__устанавливается в такое же значение, как и полеco_qualnameобъекта кода.
-
PyObject *PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname) -
Значение возврата: Новая ссылка.
Аналогично
PyFunction_New(), но также позволяет задать атрибут__qualname__объекта функции. qualname должен быть объектом типа unicode илиNULL; еслиNULL, атрибут__qualname__устанавливается в такое же значение, как и полеco_qualnameобъекта кода.Введено в версии 3.3.
-
PyObject *PyFunction_GetCode(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает объект кода, связанный с объектом функции op.
-
PyObject *PyFunction_GetGlobals(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает словарь глобальных переменных, связанный с объектом функции op.
-
PyObject *PyFunction_GetModule(PyObject *op) -
Значение возврата: Заимствованная ссылка.
Возвращает заимствованную ссылку на атрибут
__module__объекта функции op. Может быть NULL.Обычно это
string, содержащий имя модуля, но может быть задано любым другим объектом кодом 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–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/c-api/function.html