Objets fonctions
****************

Certaines fonctions sont spécifiques aux fonctions Python.

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)

   Return true if *o* is a function object (has type
   "PyFunction_Type"). The parameter must not be "NULL".

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.*

   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.*

   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.
