Python 3.6.5 Documentation >  Reflection

Reflection
**********

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

Return a dictionary of the builtins in the current execution frame,
or the interpreter of the thread state if no frame is currently
executing.

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)

Return the line number that *frame* is currently executing.

const char* PyEval_GetFuncName(PyObject *func)

Return the name of *func* if it is a function, class or instance
object, else the name of *func*s type.

const char* PyEval_GetFuncDesc(PyObject *func)

Return a description string, depending on the type of *func*.
Return values include “()” for functions and methods, ”
constructor”, ” instance”, and ” object”. Concatenated with the
result of "PyEval_GetFuncName()", the result will be a description
of *func*.