# 反射

PyObject *PyEval_GetBuiltins(void)
  返回值：借入的引用。 属于 稳定 ABI.

  返回当前执行帧中内置函数的字典，如果当前没有帧正在执行，则返回线程状态的解释器。

PyObject *PyEval_GetLocals(void)
  返回值：借入的引用。 属于 稳定 ABI.

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

PyObject *PyEval_GetGlobals(void)
  返回值：借入的引用。 属于 稳定 ABI.

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

PyFrameObject *PyEval_GetFrame(void)
  返回值：借入的引用。 属于 稳定 ABI.

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

  另请参阅 `PyThreadState_GetFrame()`。

const char *PyEval_GetFuncName(PyObject *func)
  属于 稳定 ABI.

  如果 func 是函数、类或实例对象，则返回它的名称，否则返回 func 的类型的名称。

const char *PyEval_GetFuncDesc(PyObject *func)
  属于 稳定 ABI.

  根据 func 的类型返回描述字符串。 返回值包括函数和方法的 "()", " constructor", " instance" 和 " object"。 与 `PyEval_GetFuncName()` 的结果连接，结果将是 func 的描述。