Reflection — Python documentation
From Get docs
Python/docs/3.6/c-api/reflection
Reflection
- PyObject *PyEval_GetBuiltins()
- 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 a dictionary of the local variables in the current execution frame, or NULL if no frame is currently executing.
- PyObject *PyEval_GetGlobals()
- Return a dictionary of the global variables in the current execution frame, or NULL if no frame is currently executing.
- PyFrameObject *PyEval_GetFrame()
- 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 funcs 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.