Reflexão
********

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

   Retorna um dicionário dos componentes internos no quadro de
   execução atual ou o interpretador do estado do encadeamento, se
   nenhum quadro estiver em execução no momento.

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

   Retorna um dicionário das variáveis locais no quadro de execução
   atual ou "NULL" se nenhum quadro estiver sendo executado no
   momento.

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

   Retorna um dicionário das variáveis globais no quadro de execução
   atual ou "NULL" se nenhum quadro estiver sendo executado no
   momento.

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

   Retorna o quadro do estado atual da thread, que é "NULL" se nenhum
   quadro estiver em execução no momento.

int PyFrame_GetLineNumber(PyFrameObject *frame)

   Retorna o número da linha do *frame* atualmente em execução.

const char* PyEval_GetFuncName(PyObject *func)

   Retorna o nome de *func* se for uma função, classe ou objeto de
   instância, senão o nome do tipo da *func*.

const char* PyEval_GetFuncDesc(PyObject *func)

   Retorna uma sequência de caracteres de descrição, dependendo do
   tipo de *func*. Os valores de retorno incluem "()" para funções e
   métodos, "construtor", "instância" e "objeto". Concatenado com o
   resultado de "PyEval_GetFuncName()", o resultado será uma descrição
   de *func*.
