# Reflexão

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

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

  Veja também `PyThreadState_GetFrame()`.

PyFrameObject* `PyFrame_GetBack`(PyFrameObject *frame)

  Obtém o frame próximo ao quadro externo.

  Retorna uma referência forte, ou `NULL` se frame não tiver quadro externo.

  frame não deve ser `NULL`.

  Novo na versão 3.9.

PyCodeObject* `PyFrame_GetCode`(PyFrameObject *frame)

  Obtém o código de frame.

  Retorna uma referência forte.

  frame não deve ser `NULL`. O resultado (código do quadro) não pode ser `NULL`.

  Novo na versão 3.9.

int `PyFrame_GetLineNumber`(PyFrameObject *frame)

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

  frame não deve ser `NULL`.

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.