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 *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*.
