リフレクション

PyObject* PyEval_GetBuiltins()
Return value: Borrowed reference.

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

PyObject* PyEval_GetLocals()
Return value: Borrowed reference.

Return a dictionary of the local variables in the current execution frame, or NULL if no frame is currently executing.

PyObject* PyEval_GetGlobals()
Return value: Borrowed reference.

Return a dictionary of the global variables in the current execution frame, or NULL if no frame is currently executing.

PyFrameObject* PyEval_GetFrame()
Return value: Borrowed reference.

Return the current thread state's frame, which is NULL if no frame is currently executing.

int PyFrame_GetLineNumber(PyFrameObject *frame)

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

const char* PyEval_GetFuncName(PyObject *func)

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

const char* PyEval_GetFuncDesc(PyObject *func)

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