Объекты функций
Существует несколько функций, специфичных для функций 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__ устанавливается в то же значение, что и имя функции.
-
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. Может быть NULL.
Обычно это строка, содержащая имя модуля, но может быть установлено на любой другой объект кодом 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.10/c-api/function.html