Функціональні об’єкти¶
Є кілька функцій, специфічних для функцій 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 має бути словником із глобальними змінними, доступними для функції.
The function’s docstring and name are retrieved from the code object. __module__ is retrieved from globals. The argument defaults, annotations and closure are set to
NULL
. __qualname__ is set to the same value as the function’s name.
-
PyObject*
PyFunction_NewWithQualName
(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Return value: New reference.
As
PyFunction_New()
, but also allows setting the function object’s__qualname__
attribute. qualname should be a unicode object orNULL
; ifNULL
, the__qualname__
attribute is set to the same value as its__name__
attribute.Нове в версії 3.3.
-
PyObject*
PyFunction_GetCode
(PyObject *op)¶ - Return value: Borrowed reference.
Повертає об’єкт коду, пов’язаний з об’єктом функції op.
-
PyObject*
PyFunction_GetGlobals
(PyObject *op)¶ - Return value: Borrowed reference.
Повертає словник globals, пов’язаний з об’єктом функції op.
-
PyObject*
PyFunction_GetModule
(PyObject *op)¶ - Return value: Borrowed reference.
Return the __module__ attribute of the function object op. This is normally a string containing the module name, but can be set to any other object by Python code.
-
PyObject*
PyFunction_GetDefaults
(PyObject *op)¶ - Return value: Borrowed reference.
Повертає стандартні значення аргументу об’єкта функції op. Це може бути кортеж аргументів або
NULL
.
-
int
PyFunction_SetDefaults
(PyObject *op, PyObject *defaults)¶ Установіть значення аргументу за замовчуванням для об’єкта функції op. за замовчуванням має бути
Py_None
або кортеж.Викликає
SystemError
і повертає-1
у разі помилки.
-
PyObject*
PyFunction_GetClosure
(PyObject *op)¶ - Return value: Borrowed reference.
Повертає закриття, пов’язане з об’єктом функції op. Це може бути
NULL
або кортеж об’єктів клітинки.
-
int
PyFunction_SetClosure
(PyObject *op, PyObject *closure)¶ Установіть закриття, пов’язане з функціональним об’єктом op. закриття має бути
Py_None
або кортеж об’єктів клітинки.Викликає
SystemError
і повертає-1
у разі помилки.
-
PyObject *
PyFunction_GetAnnotations
(PyObject *op)¶ - Return value: Borrowed reference.
Повертає анотації об’єкта функції op. Це може бути змінний словник або
NULL
.
-
int
PyFunction_SetAnnotations
(PyObject *op, PyObject *annotations)¶ Встановіть анотації для об’єкта функції op. анотації мають бути словником або
Py_None
.Викликає
SystemError
і повертає-1
у разі помилки.