Reflektion

PyObject *PyEval_GetBuiltins(void)
Rückgabewert: Ausgeliehene Referenz. Teil der Stable ABI.

Veraltet seit Version 3.13: Verwenden Sie stattdessen PyEval_GetFrameBuiltins().

Gibt ein Wörterbuch der Builtins im aktuellen Ausführungs-Stack-Frame zurück, oder den Interpreter des Thread-Zustands, wenn gerade kein Frame ausgeführt wird.

PyObject *PyEval_GetLocals(void)
Rückgabewert: Ausgeliehene Referenz. Teil der Stable ABI.

Veraltet seit Version 3.13: Verwenden Sie entweder PyEval_GetFrameLocals(), um dasselbe Verhalten wie beim Aufruf von locals() in Python-Code zu erhalten, oder rufen Sie PyFrame_GetLocals() auf dem Ergebnis von PyEval_GetFrame() auf, um auf das Attribut f_locals des aktuell ausgeführten Frames zuzugreifen.

Gibt eine Zuordnung zurück, die den Zugriff auf die lokalen Variablen im aktuellen Ausführungs-Stack-Frame ermöglicht, oder NULL, wenn gerade kein Frame ausgeführt wird.

Siehe locals() für Details zur Zuordnung, die in verschiedenen Gültigkeitsbereichen zurückgegeben wird.

Da diese Funktion eine ausgeliehene Referenz zurückgibt, wird das für optimierte Bereiche zurückgegebene Wörterbuch im Frame-Objekt zwischengespeichert und bleibt so lange am Leben, wie das Frame-Objekt existiert. Im Gegensatz zu PyEval_GetFrameLocals() und locals() aktualisieren nachfolgende Aufrufe dieser Funktion im selben Frame den Inhalt des zwischengespeicherten Wörterbuchs, um Änderungen im Zustand der lokalen Variablen widerzuspiegeln, anstatt einen neuen Schnappschuss zurückzugeben.

Geändert in Version 3.13: Als Teil von PEP 667 verwenden PyFrame_GetLocals(), locals() und FrameType.f_locals nicht mehr das gemeinsam genutzte Cache-Wörterbuch. Weitere Details finden Sie im Eintrag in Neuigkeiten.

PyObject *PyEval_GetGlobals(void)
Rückgabewert: Ausgeliehene Referenz. Teil der Stable ABI.

Veraltet seit Version 3.13: Verwenden Sie stattdessen PyEval_GetFrameGlobals().

Gibt ein Wörterbuch der globalen Variablen im aktuellen Ausführungs-Stack-Frame zurück, oder NULL, wenn gerade kein Frame ausgeführt wird.

PyFrameObject *PyEval_GetFrame(void)
Rückgabewert: Ausgeliehene Referenz. Teil der Stable ABI.

Gibt den Frame des angehängten Thread-Zustands zurück, der NULL ist, wenn gerade kein Frame ausgeführt wird.

Siehe auch PyThreadState_GetFrame().

PyObject *PyEval_GetFrameBuiltins(void)
Rückgabewert: Neue Referenz. Teil der Stable ABI seit Version 3.13.

Gibt ein Wörterbuch der Builtins im aktuellen Ausführungs-Stack-Frame zurück, oder den Interpreter des Thread-Zustands, wenn gerade kein Frame ausgeführt wird.

Hinzugefügt in Version 3.13.

PyObject *PyEval_GetFrameLocals(void)
Rückgabewert: Neue Referenz. Teil der Stable ABI seit Version 3.13.

Gibt ein Wörterbuch der lokalen Variablen im aktuellen Ausführungs-Stack-Frame zurück, oder NULL, wenn gerade kein Frame ausgeführt wird. Äquivalent zum Aufruf von locals() in Python-Code.

Um auf f_locals im aktuellen Frame zuzugreifen, ohne einen unabhängigen Schnappschuss in optimierten Bereichen zu erstellen, rufen Sie PyFrame_GetLocals() auf dem Ergebnis von PyEval_GetFrame() auf.

Hinzugefügt in Version 3.13.

PyObject *PyEval_GetFrameGlobals(void)
Rückgabewert: Neue Referenz. Teil der Stable ABI seit Version 3.13.

Gibt ein Wörterbuch der globalen Variablen im aktuellen Ausführungs-Stack-Frame zurück, oder NULL, wenn gerade kein Frame ausgeführt wird. Äquivalent zum Aufruf von globals() in Python-Code.

Hinzugefügt in Version 3.13.

const char *PyEval_GetFuncName(PyObject *func)
Teil der Stable ABI.

Gibt den Namen von func zurück, wenn es sich um ein Funktions-, Klassen- oder Instanzobjekt handelt, andernfalls den Namen des Typs von func.

const char *PyEval_GetFuncDesc(PyObject *func)
Teil der Stable ABI.

Gibt einen beschreibenden String zurück, abhängig vom Typ von func. Mögliche Rückgabewerte sind "()" für Funktionen und Methoden, " constructor", " instance" und " object". Verkettet mit dem Ergebnis von PyEval_GetFuncName() ergibt sich eine Beschreibung von func.