Объекты функций¶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 должен быть словарём с глобальными переменными, доступными функции.
Строка документации и имя функции извлекаются из объекта кода. __module__ извлекается из globals. Аргументы по умолчанию, аннотации и замыкание устанавливаются в NULL. __qualname__ устанавливается в то же значение, что и имя функции.
-
PyObject*
PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Возвращаемое значение: новая ссылка.
Как и
PyFunction_New(), но также позволяет задать атрибут__qualname__объекта функции. qualname должен быть объектом unicode или NULL; если NULL, атрибут__qualname__устанавливается в то же значение, что и атрибут__name__.Новое в версии 3.3.
-
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.
-
PyObject *
PyFunction_GetAnnotations(PyObject *op)¶ Возвращает аннотации объекта функции op. Это может быть изменяемый словарь или NULL.
-
int
PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)¶ Устанавливает аннотации для объекта функции op. annotations должен быть словарём или Py_None.
В случае ошибки возбуждает
SystemErrorи возвращает-1.