リフレクション

PyObject *PyEval_GetBuiltins(void)
戻り値: 借用参照。 次に属します: Stable ABI.

バージョン 3.13 で非推奨: 代わりに PyEval_GetFrameBuiltins() を使ってください。

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

PyObject *PyEval_GetLocals(void)
戻り値: 借用参照。 次に属します: Stable ABI.

バージョン 3.13 で非推奨: Python コードで locals() を呼び出すのと同じ動作を得るには PyEval_GetFrameLocals() を使ってください。 または、現在実行中のフレームの f_locals 属性にアクセスするには、PyEval_GetFrame() の戻り値に対して PyFrame_GetLocals() を呼び出してください。

現在の実行フレームのローカル変数にアクセスするためのマッピングを返します。 現在実行中のフレームがなければ NULL を返します。

スコープごとに返されるマッピングの詳細は locals() を参照してください。

この関数は 借用参照 を返すため、最適化されたスコープ に対して返される辞書はフレームオブジェクトにキャッシュされ、フレームオブジェクトが生存する限り生存し続けます。 PyEval_GetFrameLocals() や locals() と異なり、同じフレームでこの関数を再度呼び出すと、新しいスナップショットを返す代わりに、ローカル変数の状態の変化を反映するようキャッシュした辞書の内容を更新します。

バージョン 3.13 で変更: PEP 667 の変更の一環として、PyFrame_GetLocals()、locals()、FrameType.f_locals は共有キャッシュ辞書を使わなくなりました。 詳しくは What's New の該当項目 を参照してください。

PyObject *PyEval_GetGlobals(void)
戻り値: 借用参照。 次に属します: Stable ABI.

バージョン 3.13 で非推奨: 代わりに PyEval_GetFrameGlobals() を使ってください。

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

PyFrameObject *PyEval_GetFrame(void)
戻り値: 借用参照。 次に属します: Stable ABI.

アタッチされたスレッド状態 のフレームを返します。 現在実行中のフレームがなければ NULL です。

PyThreadState_GetFrame() も参照してください。

PyObject *PyEval_GetFrameBuiltins(void)
戻り値: 新しい参照。 次に属します: Stable ABI (バージョン 3.13 より).

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

Added in version 3.13.

PyObject *PyEval_GetFrameLocals(void)
戻り値: 新しい参照。 次に属します: Stable ABI (バージョン 3.13 より).

現在の実行フレームのローカル変数の辞書を返します。 現在実行中のフレームがなければ NULL を返します。 Python コードで locals() を呼び出すことと等価です。

最適化されたスコープ で独立したスナップショットを作らずに、現在のフレームの f_locals にアクセスするには、PyEval_GetFrame() の戻り値に対して PyFrame_GetLocals() を呼び出してください。

Added in version 3.13.

PyObject *PyEval_GetFrameGlobals(void)
戻り値: 新しい参照。 次に属します: Stable ABI (バージョン 3.13 より).

現在の実行フレームのグローバル変数の辞書を返します。 現在実行中のフレームがなければ NULL を返します。 Python コードで globals() を呼び出すことと等価です。

Added in version 3.13.

const char *PyEval_GetFuncName(PyObject *func)
次に属します: Stable ABI.

func が関数、クラス、インスタンスオブジェクトであればその名前を返し、それ以外の場合は func の型の名前を返します。

const char *PyEval_GetFuncDesc(PyObject *func)
次に属します: Stable ABI.

func の型に応じた説明文字列を返します。 戻り値には、関数とメソッドに対する "()" のほか、" constructor"、" instance"、" object" があります。 PyEval_GetFuncName() の戻り値に連結すると、func の説明になります。