Объекты функции¶
Существует несколько функций, специфичных для 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.
