Objetos función¶
Hay algunas funciones específicas para las funciones de Python.
-
PyFunctionObject
¶ La estructura C utilizada para las funciones.
-
PyTypeObject
PyFunction_Type
¶ Esta es una instancia de
PyTypeObject
y representa el tipo función de Python. Está expuesto a los programadores de Python comotypes.FunctionType
.
-
int
PyFunction_Check
(PyObject *o)¶ Retorna verdadero si o es un objeto función (tiene tipo
PyFunction_Type
). El parámetro no debe serNULL
.
-
PyObject*
PyFunction_New
(PyObject *code, PyObject *globals)¶ - Return value: New reference.
Retorna un nuevo objeto función asociado con el objeto código code. globals debe ser un diccionario con las variables globales accesibles para la función.
El docstring y el nombre de la función se obtiene del objeto código. __module__ se obtiene de globals *. El argumento *defaults, annotations y closure se establecen en
NULL
. __qualname__ se establece en el mismo valor que el nombre de la función.
-
PyObject*
PyFunction_NewWithQualName
(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Return value: New reference.
Como
PyFunction_New()
, pero también permite configurar el atributo__qualname__
del objeto función. qualname debe ser un objeto unicode oNULL
; si esNULL
, el atributo__qualname__
se establece en el mismo valor que su atributo__name__
.Nuevo en la versión 3.3.
-
PyObject*
PyFunction_GetCode
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna el objeto código asociado con el objeto función op.
-
PyObject*
PyFunction_GetGlobals
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna el diccionario global asociado con el objeto función op.
-
PyObject*
PyFunction_GetModule
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna el atributo __module__ del objeto función op. Normalmente es una cadena de caracteres que contiene el nombre del módulo, pero se puede establecer en cualquier otro objeto mediante el código Python.
-
PyObject*
PyFunction_GetDefaults
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna los valores predeterminados del argumento del objeto función op. Esto puede ser una tupla de argumentos o
NULL
.
-
int
PyFunction_SetDefaults
(PyObject *op, PyObject *defaults)¶ Establece los valores predeterminados del argumento para el objeto función op. defaults deben ser
Py_None
o una tupla.Lanza
SystemError
y retorna-1
en caso de error.
-
PyObject*
PyFunction_GetClosure
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna el cierre asociado con el objeto función op. Esto puede ser
NULL
o una tupla de objetos celda.
-
int
PyFunction_SetClosure
(PyObject *op, PyObject *closure)¶ Establece el cierre asociado con el objeto función op. cierre debe ser
Py_None
o una tupla de objetos celda.Lanza
SystemError
y retorna-1
en caso de error.
-
PyObject *
PyFunction_GetAnnotations
(PyObject *op)¶ - Return value: Borrowed reference.
Retorna las anotaciones del objeto función op. Este puede ser un diccionario mutable o
NULL
.
-
int
PyFunction_SetAnnotations
(PyObject *op, PyObject *annotations)¶ Establece las anotaciones para el objeto función op. annotations debe ser un diccionario o
Py_None
.Lanza
SystemError
y retorna-1
en caso de error.