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

PyObject* PyEval_GetBuiltins()
    *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()
    *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()
    *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()
    *Return value: Borrowed reference.*

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

int PyFrame_GetLineNumber(PyFrameObject *frame)

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

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*
