Frame Objects¶
-
type PyFrameObject¶
- Teil der Limited API (als opaker Struct).
Die C-Struktur der Objekte, die zur Beschreibung von Frame-Objekten verwendet werden.
Es gibt keine öffentlichen Mitglieder in dieser Struktur.
Geändert in Version 3.11: Die Mitglieder dieser Struktur wurden aus der öffentlichen C-API entfernt. Siehe den Eintrag in den Neuerungen für Details.
Die Funktionen PyEval_GetFrame() und PyThreadState_GetFrame() können verwendet werden, um ein Frame-Objekt zu erhalten.
Siehe auch Reflection.
-
PyTypeObject PyFrame_Type¶
Der Typ von Frame-Objekten. Es ist dasselbe Objekt wie
types.FrameTypein der Python-Schicht.Geändert in Version 3.11: Zuvor war dieser Typ nur nach dem Einbinden von
<frameobject.h>verfügbar.
-
int PyFrame_Check(PyObject *obj)¶
Gibt einen Wert ungleich Null zurück, wenn obj ein Frame-Objekt ist.
Geändert in Version 3.11: Zuvor war diese Funktion nur nach dem Einbinden von
<frameobject.h>verfügbar.
-
PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz.
Gibt den nächst äußeren Frame von frame zurück.
Gibt eine starke Referenz zurück oder
NULL, wenn frame keinen äußeren Frame hat.Hinzugefügt in Version 3.9.
-
PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz.
Gibt das Attribut
f_builtinsdes frame zurück.Gibt eine starke Referenz zurück. Das Ergebnis kann nicht
NULLsein.Hinzugefügt in Version 3.11.
-
PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz. Teil der Stable ABI seit Version 3.10.
Gibt den Code des frame zurück.
Gibt eine starke Referenz zurück.
Das Ergebnis (Frame-Code) kann nicht
NULLsein.Hinzugefügt in Version 3.9.
-
PyObject *PyFrame_GetGenerator(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz.
Gibt den Generator, Coroutinen oder den asynchronen Generator zurück, der diesen Frame besitzt, oder
NULL, wenn dieser Frame nicht von einem Generator besessen wird. Löst keine Ausnahme aus, auch wenn der RückgabewertNULList.Gibt eine starke Referenz oder
NULLzurück.Hinzugefügt in Version 3.11.
-
PyObject *PyFrame_GetGlobals(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz.
Gibt das Attribut
f_globalsdes frame zurück.Gibt eine starke Referenz zurück. Das Ergebnis kann nicht
NULLsein.Hinzugefügt in Version 3.11.
-
int PyFrame_GetLasti(PyFrameObject *frame)¶
Gibt das Attribut
f_lastides frame zurück.Gibt -1 zurück, wenn
frame.f_lastiNoneist.Hinzugefügt in Version 3.11.
-
PyObject *PyFrame_GetVar(PyFrameObject *frame, PyObject *name)¶
- Rückgabewert: Neue Referenz.
Gibt die Variable name von frame zurück.
Gibt eine starke Referenz auf den Variablenwert bei Erfolg zurück.
Löst
NameErroraus und gibtNULLzurück, wenn die Variable nicht existiert.Löst eine Ausnahme aus und gibt
NULLbei einem Fehler zurück.
Der Typ von name muss ein
strsein.Hinzugefügt in Version 3.12.
-
PyObject *PyFrame_GetVarString(PyFrameObject *frame, const char *name)¶
- Rückgabewert: Neue Referenz.
Ähnlich wie
PyFrame_GetVar(), aber der Variablenname ist ein C-String, der in UTF-8 kodiert ist.Hinzugefügt in Version 3.12.
-
PyObject *PyFrame_GetLocals(PyFrameObject *frame)¶
- Rückgabewert: Neue Referenz.
Gibt das Attribut
f_localsdes frame zurück. Wenn der Frame auf einen optimierten Geltungsbereich verweist, gibt dies ein schreibgeschütztes Proxy-Objekt zurück, das Änderungen an den lokalen Variablen ermöglicht. In allen anderen Fällen (Klassen, Module,exec(),eval()) gibt es die Abbildung zurück, die die Frame-Lokalen direkt darstellt (wie fürlocals()beschrieben).Gibt eine starke Referenz zurück.
Hinzugefügt in Version 3.11.
Geändert in Version 3.13: Als Teil von PEP 667 wird eine Instanz von
PyFrameLocalsProxy_Typezurückgegeben.
-
int PyFrame_GetLineNumber(PyFrameObject *frame)¶
- Teil der Stable ABI seit Version 3.10.
Gibt die Zeilennummer zurück, die frame gerade ausführt.
Frame Locals Proxies¶
Hinzugefügt in Version 3.13.
Das Attribut f_locals eines Frame-Objekts ist eine Instanz eines „frame-locals proxy“. Das Proxy-Objekt stellt eine schreibgeschützte Ansicht des zugrundeliegenden lokalen Wörterbuchs für den Frame bereit. Dies stellt sicher, dass die von f_locals bereitgestellten Variablen immer auf dem neuesten Stand der Live-Lokalen im Frame selbst sind.
Weitere Informationen finden Sie in PEP 667.
-
PyTypeObject PyFrameLocalsProxy_Type¶
Der Typ von Frame
locals()Proxy-Objekten.
Interne Frames¶
Sofern nicht PEP 523 verwendet wird, benötigen Sie dies nicht.
-
struct _PyInterpreterFrame¶
Die interne Frame-Darstellung des Interpreters.
Hinzugefügt in Version 3.11.
-
PyObject *PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);¶
- Dies ist eine Instabile API. Sie kann sich ohne Vorwarnung in kleineren Releases ändern.
Gibt eine starke Referenz auf das Code-Objekt für den Frame zurück.
Hinzugefügt in Version 3.12.
-
int PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);¶
- Dies ist eine Instabile API. Sie kann sich ohne Vorwarnung in kleineren Releases ändern.
Gibt den Byte-Offset der zuletzt ausgeführten Anweisung zurück.
Hinzugefügt in Version 3.12.
-
int PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);¶
- Dies ist eine Instabile API. Sie kann sich ohne Vorwarnung in kleineren Releases ändern.
Gibt die aktuell ausgeführte Zeilennummer zurück oder -1, wenn keine Zeilennummer vorhanden ist.
Hinzugefügt in Version 3.12.