Объекты функций¶Function Objects
Есть несколько функций, специфичных для функций Python.
-
PyFunctionObject¶ C-структура, используемая для функций.
-
PyTypeObject
PyFunction_Type¶ Это экземпляр
PyTypeObjectи представляет тип функции Python. Он доступен программистам на Python какtypes.FunctionType.
-
int
PyFunction_Check(PyObject *o)¶ Возвращает истину, если o является объектом функции (имеет тип
PyFunction_Type). Параметр не должен быть NULL.
-
PyObject*
PyFunction_New(PyObject *code, PyObject *globals)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый объект функции, связанный с объектом кода code. globals должен быть словарём с глобальными переменными, доступными функции.
Docstring, имя и __module__ функции берутся из объекта кода, значения аргументов по умолчанию и замыкание устанавливаются в NULL.
-
PyObject*
PyFunction_GetCode(PyObject *op)¶ - Возвращаемое значение: заимствованная ссылка.
Возвращает объект кода, связанный с объектом функции op.
-
PyObject*
PyFunction_GetGlobals(PyObject *op)¶ - Возвращаемое значение: заимствованная ссылка.
Возвращает словарь глобальных переменных, связанный с объектом функции op.
-
PyObject*
PyFunction_GetModule(PyObject *op)¶ - Возвращаемое значение: заимствованная ссылка.
Возвращает атрибут __module__ объекта-функции op. Обычно это строка с именем модуля, но может быть установлено в любой другой объект кодом 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 или кортеж cell-объектов.
-
int
PyFunction_SetClosure(PyObject *op, PyObject *closure)¶ Устанавливает замыкание, связанное с объектом функции op. closure должен быть Py_None или кортежем cell-объектов.
В случае ошибки возбуждает
SystemErrorи возвращает-1.