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