# Reflexión

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

  Retorna un diccionario de las construcciones en el marco de ejecución actual, o el intérprete del estado del hilo si no se está ejecutando ningún marco actualmente.

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

  Retorna un diccionario de las variables locales en el marco de ejecución actual, o `NULL` si actualmente no se está ejecutando ningún marco.

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

  Retorna un diccionario de las variables globales en el marco de ejecución actual, o `NULL` si actualmente no se está ejecutando ningún marco.

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

  Retorna el marco del estado del hilo actual, que es `NULL` si actualmente no se está ejecutando ningún marco.

int `PyFrame_GetLineNumber`(PyFrameObject *frame)

  Retorna el número de línea que frame está ejecutando actualmente.

const char* `PyEval_GetFuncName`(PyObject *func)

  Retorna el nombre de func si es una función, clase u objeto de instancia; de lo contrario, el nombre del tipo funcs.

const char* `PyEval_GetFuncDesc`(PyObject *func)

  Retorna una cadena de caracteres de descripción, según el tipo de func. Los valores de retorno incluyen «()» para funciones y métodos, «constructor», «instancia» y «objeto». Concatenado con el resultado de `PyEval_GetFuncName()`, el resultado será una descripción de func.