Réflexion
*********

PyObject* PyEval_GetBuiltins(void)
    *Return value: Borrowed reference.*

   Renvoie un dictionnaire des fonctions natives de la *frame* en
   cours d'exécution, ou si aucune *frame* n'est exécutée, les
   fonctions natives du *thread* indiqué par le *thread state*.

PyObject* PyEval_GetLocals(void)
    *Return value: Borrowed reference.*

   Return a dictionary of the local variables in the current execution
   frame, or "NULL" if no frame is currently executing.

PyObject* PyEval_GetGlobals(void)
    *Return value: Borrowed reference.*

   Return a dictionary of the global variables in the current
   execution frame, or "NULL" if no frame is currently executing.

PyFrameObject* PyEval_GetFrame(void)
    *Return value: Borrowed reference.*

   Return the current thread state's frame, which is "NULL" if no
   frame is currently executing.

   See also "PyThreadState_GetFrame()".

int PyFrame_GetBack(PyFrameObject *frame)

   Get the *frame* next outer frame.

   Return a strong reference, or "NULL" if *frame* has no outer frame.

   *frame* must not be "NULL".

   Nouveau dans la version 3.9.

int PyFrame_GetCode(PyFrameObject *frame)

   Get the *frame* code.

   Return a strong reference.

   *frame* must not be "NULL". The result (frame code) cannot be
   "NULL".

   Nouveau dans la version 3.9.

int PyFrame_GetLineNumber(PyFrameObject *frame)

   Renvoie le numéro de ligne que *frame* est en train d'exécuter

   *frame* must not be "NULL".

const char* PyEval_GetFuncName(PyObject *func)

   Renvoie le nom de *func* s'il s'agit d'une fonction, d'une classe
   ou d'un objet d'instance, sinon le nom du type de *func*

const char* PyEval_GetFuncDesc(PyObject *func)

   Renvoie une description en chaîne de caractères, en fonction du
   type de *func*. Les valeurs renvoyées peuvent être ""()"" pour les
   fonction et les méthodes, "\" constructor\"", "\" instance\"", "\"
   object\"". Concaténé avec le résultat de "PyEval_GetFuncName()", le
   résultat sera une description de *func*
