# リフレクション

PyObject *PyEval_GetBuiltins(void)
  Return value: Borrowed reference. Part of the Stable ABI.

  現在の実行フレーム内のビルトインの辞書か、もし実行中のフレームがなければスレッド状態のインタプリタのビルトイン辞書を返します。

PyObject *PyEval_GetLocals(void)
  Return value: Borrowed reference. Part of the Stable ABI.

  現在の実行フレーム内のローカル変数の辞書か、実行中のフレームがなければ `NULL` を返します。

PyObject *PyEval_GetGlobals(void)
  Return value: Borrowed reference. Part of the Stable ABI.

  現在の実行フレーム内のグローバル変数の辞書か、実行中のフレームがなければ `NULL` を返します。

PyFrameObject *PyEval_GetFrame(void)
  Return value: Borrowed reference. Part of the Stable ABI.

  現在のスレッド状態のフレームを返します。現在実行中のフレームがなければ `NULL` を返します。

  See also `PyThreadState_GetFrame()`.

const char *PyEval_GetFuncName(PyObject *func)
  Part of the Stable ABI.

  func が関数、クラス、インスタンスオブジェクトであればその名前を、そうでなければ func の型を返します。

const char *PyEval_GetFuncDesc(PyObject *func)
  Part of the Stable ABI.

  func の型に依存する、解説文字列(description string)を返します。戻り値は、関数とメソッドに対しては "()", " constructor", " instance", " object" です。 `PyEval_GetFuncName()` と連結された結果、 func の解説になります。