Функціональні об’єкти¶
Є кілька функцій, специфічних для функцій Python.
-
type 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 toNULL
.__qualname__
is set to the same value as the code object’sco_qualname
field.
-
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 the code object’sco_qualname
field.Нове в версії 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 a borrowed reference to the
__module__
attribute of the function object op. It can be NULL.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
у разі помилки.