Objets fonction¶
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 commetypes.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 êtreNULL
. 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.
La docstring et le nom de la fonction sont récupérés à partir de l'objet code. __module__ est récupéré à partir de globals. Les arguments par défaut, les annotations et la fermeture sont mis à
NULL
. __qualname__ est mis à la même valeur que celle du champco_qualname
de l'objet code.
-
PyObject *PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)¶
- Return value: New reference.
Comme
PyFunction_New()
, mais accepte aussi une valeur à utiliser pour l'attribut__qualname__
de l'objet fonction. qualname doit être un objet Unicode ouNULL
; s'il estNULL
, l'attribut__qualname__
de l'objet fonction prend la valeur de l'attributco_qualname
de l'objet code.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.