Объекты функции¶
Существует несколько функций, специфичных для 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)¶ - Return value: New reference.
Возвращает новый объект функции, связанный с кодом объекта code. globals должен быть словарем с глобальными переменными, доступными для функции.
Докстринг и имя функции извлекаются из кодового объекта. __module__ извлекается из globals. Для параметров аргумента по умолчанию, аннотаций и закрытия устанавливается значение
NULL
. __qualname__ имеет тот же значение, что и имя функции.
-
PyObject*
PyFunction_NewWithQualName
(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Return value: New reference.
Как
PyFunction_New()
, но также позволяет установить__qualname__
атрибут объекта функции. qualname должен быть объектом илиNULL
Юникода; еслиNULL
,__qualname__
атрибут устанавливается в то же значение, что и его__name__
атрибут.Добавлено в версии 3.3.
-
PyObject*
PyFunction_GetCode
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает кодовый объект, связанный с op объекта функции.
-
PyObject*
PyFunction_GetGlobals
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает глобальный словарь, связанный с op объекта функции.
-
PyObject*
PyFunction_GetModule
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает __module__ атрибут объекта функции op. Обычно это строка, содержащее имя модуля, но может быть задано для любого другого объекта с помощью Python кода.
-
PyObject*
PyFunction_GetDefaults
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает значение аргумента по умолчанию объекта функции op. Это может быть кортеж аргументов или
NULL
.
-
int
PyFunction_SetDefaults
(PyObject *op, PyObject *defaults)¶ Задайть значение аргумента по умолчанию для op объекта функции. defaults должен быть
Py_None
или кортежем.Поднимает
SystemError
и возвращает-1
.
-
PyObject*
PyFunction_GetClosure
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает замыкание, связанное с op объектом функции. Это может быть
NULL
или кортеж ячеечных объектов.
-
int
PyFunction_SetClosure
(PyObject *op, PyObject *closure)¶ Задать замыкание, связанное с op объектом функции. closure должны быть
Py_None
или кортежем объектов ячейки.Поднимает
SystemError
и возвращает-1
.
-
PyObject *
PyFunction_GetAnnotations
(PyObject *op)¶ - Return value: Borrowed reference.
Возвращает аннотации op объекта функции. Это может быть изменяемый словарь или
NULL
.
-
int
PyFunction_SetAnnotations
(PyObject *op, PyObject *annotations)¶ Задать аннотации для op объекта функции. annotations должен быть словарем или
Py_None
.Поднимает
SystemError
и возвращает-1
.