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.

返回当前执行帧中局部变量的字典,如果没有当前执行的帧则返回 NULL

PyObject* PyEval_GetGlobals()
Return value: Borrowed reference.

返回当前执行帧中全局变量的字典,如果没有当前执行的帧则返回 NULL

PyFrameObject* PyEval_GetFrame()
Return value: Borrowed reference.

返回当前线程状态的帧,如果没有当前执行的帧则返回 NULL

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.