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