リフレクション
**************

PyObject* PyEval_GetBuiltins(void)
    *Return value: Borrowed reference.*

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

PyObject* PyEval_GetLocals(void)
    *Return value: Borrowed reference.*

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

PyObject* PyEval_GetGlobals(void)
    *Return value: Borrowed reference.*

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

PyFrameObject* PyEval_GetFrame(void)
    *Return value: Borrowed reference.*

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

   See also "PyThreadState_GetFrame()".

PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)

   Get the *frame* next outer frame.

   Return a strong reference, or "NULL" if *frame* has no outer frame.

   *frame* must not be "NULL".

   バージョン 3.9 で追加.

PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)

   Get the *frame* code.

   Return a strong reference.

   *frame* must not be "NULL". The result (frame code) cannot be
   "NULL".

   バージョン 3.9 で追加.

int PyFrame_GetLineNumber(PyFrameObject *frame)

   *frame* が現在実行している行番号を返します。

   *frame* must not be "NULL".

const char* PyEval_GetFuncName(PyObject *func)

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

const char* PyEval_GetFuncDesc(PyObject *func)

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