Objets fonctions

Certaines fonctions sont spécifiques aux fonctions Python.

type PyFunctionObject

La structure C utilisée pour les fonctions.

PyTypeObject PyFunction_Type

C'est une instance de PyTypeObject et représente le type fonction en Python. Il est exposé aux développeurs comme types.FunctionType.

int PyFunction_Check(PyObject *o)

Renvoie vrai si o est un objet de type fonction (a comme type PyFunction_Type). Le paramètre ne doit pas être NULL. Cette fonction réussit toujours.

PyObject *PyFunction_New(PyObject *code, PyObject *globals)
Return value: New reference.

Renvoie une nouvelle fonction associée avec l'objet code. globals doit être un dictionnaire avec les variables globales accessibles à la fonction.

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 or NULL; if NULL, the __qualname__ attribute is set to the same value as its __name__ attribute.

Nouveau dans la version 3.3.

PyObject *PyFunction_GetCode(PyObject *op)
Return value: Borrowed reference.

Renvoie l'objet code associé avec l'objet de la fonction op.

PyObject *PyFunction_GetGlobals(PyObject *op)
Return value: Borrowed reference.

Renvoie le dictionnaire global associé avec l'objet de la fonction op.

PyObject *PyFunction_GetModule(PyObject *op)
Return value: Borrowed reference.

Renvoie un borrowed reference à l'attribut __module__ de l'objet fonction op. Il peut être NULL.

C'est typiquement une chaîne de caractère contenant le nom du module, mais il peut être changé par du code Python pour n'importe quel autre objet.

PyObject *PyFunction_GetDefaults(PyObject *op)
Return value: Borrowed reference.

Renvoie les valeurs par défaut de l'argument de l'objet de la fonction op. Cela peut être un tuple d'arguments ou NULL.

int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)

Définir les valeurs par défaut de l'argument pour l'objet de la fonction op. defaults doit être Py_None ou un tuple.

Lève SystemError et renvoie -1 en cas de d'échec.

PyObject *PyFunction_GetClosure(PyObject *op)
Return value: Borrowed reference.

Renvoie la fermeture associée avec l'objet de la fonction op. Cela peut être NULL ou un tuple d'objets cellule.

int PyFunction_SetClosure(PyObject *op, PyObject *closure)

Définir la fermeture associée avec l'objet de la fonction op. closure doit être Py_None ou un tuple d'objets cellule.

Lève SystemError et renvoie -1 en cas de d'échec.

PyObject *PyFunction_GetAnnotations(PyObject *op)
Return value: Borrowed reference.

Renvoie les annotations de l'objet de la fonction op. Cela peut être un dictionnaire mutable ou NULL.

int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)

Définir les annotations pour l'objet de la fonction op. annotations doit être un dictionnaire ou Py_None.

Lève SystemError et renvoie -1 en cas de d'échec.