Ramobjekt¶
-
type PyFrameObject¶
- En del av Begränsat API (som en ogenomskinlig struktur).
C-strukturen för de objekt som används för att beskriva ramobjekt.
Det finns inga offentliga medlemmar i denna struktur.
Ändrad i version 3.11: Medlemmarna i denna struktur har tagits bort från det publika C API:et. Se What’s New entry för detaljer.
Funktionerna PyEval_GetFrame() och PyThreadState_GetFrame() kan användas för att hämta ett frame-objekt.
Se även Reflection.
-
PyTypeObject PyFrame_Type¶
Typen av ramobjekt. Det är samma objekt som
types.FrameTypei Python-lagret.Ändrad i version 3.11: Tidigare var denna typ endast tillgänglig efter inkludering av
<frameobject.h>.
-
int PyFrame_Check(PyObject *obj)¶
Returnerar icke-noll om obj är ett ramobjekt.
Ändrad i version 3.11: Tidigare var denna funktion endast tillgänglig efter inkludering av
<frameobject.h>.
-
PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)¶
- Returnera värde: Ny referens.
Hämta ramen nästa yttre ram.
Returnerar en strong reference, eller
NULLom frame inte har någon yttre ram.Tillagd i version 3.9.
-
PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)¶
- Returnera värde: Ny referens.
Hämta frame:s
f_builtins-attribut.Returnerar en strong reference. Resultatet kan inte vara
NULL.Tillagd i version 3.11.
-
PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.10.
Hämta frame-koden.
Returnera en strong reference.
Resultatet (ramkoden) kan inte vara
NULL.Tillagd i version 3.9.
-
PyObject *PyFrame_GetGenerator(PyFrameObject *frame)¶
- Returnera värde: Ny referens.
Hämtar den generator, coroutine eller async-generator som äger denna ram, eller
NULLom denna ram inte ägs av en generator. Ger inte upphov till något undantag, även om returvärdet ärNULL.Returnerar en strong reference, eller
NULL.Tillagd i version 3.11.
-
PyObject *PyFrame_GetGlobals(PyFrameObject *frame)¶
- Returnera värde: Ny referens.
Hämta frame:s
f_globals-attribut.Returnerar en strong reference. Resultatet kan inte vara
NULL.Tillagd i version 3.11.
-
int PyFrame_GetLasti(PyFrameObject *frame)¶
Hämta frame:s
f_lasti-attribut.Returnerar -1 om
frame.f_lastiärNone.Tillagd i version 3.11.
-
PyObject *PyFrame_GetVar(PyFrameObject *frame, PyObject *name)¶
- Returnera värde: Ny referens.
Hämta variabeln namn för frame.
Returnerar en strong reference till variabelvärdet vid framgång.
Utlös
NameErroroch returneraNULLom variabeln inte finns.Utlös ett undantag och returnera
NULLvid fel.
name-typen måste vara en
str.Tillagd i version 3.12.
-
PyObject *PyFrame_GetVarString(PyFrameObject *frame, const char *name)¶
- Returnera värde: Ny referens.
Liknar
PyFrame_GetVar(), men variabelnamnet är en C-sträng kodad i UTF-8.Tillagd i version 3.12.
-
PyObject *PyFrame_GetLocals(PyFrameObject *frame)¶
- Returnera värde: Ny referens.
Hämta ramens attribut
f_locals. Om ramen refererar till en optimized scope, returneras ett skrivbart proxyobjekt som gör det möjligt att ändra de lokala värdena. I alla andra fall (klasser, moduler,exec(),eval()) returneras den mappning som representerar ramens lokala objekt direkt (enligt beskrivningen förlocals()).Returnera en strong reference.
Tillagd i version 3.11.
Ändrad i version 3.13: Som en del av PEP 667, returnera en instans av
PyFrameLocalsProxy_Type.
-
int PyFrame_GetLineNumber(PyFrameObject *frame)¶
- En del av Stabil ABI sedan version 3.10.
Returnerar radnumret som frame för närvarande exekverar.
Ram Lokaler Proxies¶
Tillagd i version 3.13.
Attributet f_locals på en frame object är en instans av en ”frame-locals proxy”. Proxyobjektet exponerar en skrivbar vy av den underliggande lokala ordlistan för ramen. Detta säkerställer att de variabler som exponeras av f_locals alltid är uppdaterade med de lokala variablerna i själva ramen.
Se PEP 667 för mer information.
-
PyTypeObject PyFrameLocalsProxy_Type¶
Typen av ram
locals()proxyobjekt.
Interna ramar¶
Om du inte använder PEP 523 behöver du inte detta.
-
struct _PyInterpreterFrame¶
Tolkens interna ramrepresentation.
Tillagd i version 3.11.
-
PyObject *PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);¶
- Detta är Instabilt API. Den kan ändras utan förvarning i mindre versioner.
Returnera en strong reference till kodobjektet för ramen.
Tillagd i version 3.12.
-
int PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);¶
- Detta är Instabilt API. Den kan ändras utan förvarning i mindre versioner.
Returnerar byte-offset i den senast utförda instruktionen.
Tillagd i version 3.12.
-
int PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);¶
- Detta är Instabilt API. Den kan ändras utan förvarning i mindre versioner.
Returnerar det aktuella radnumret, eller -1 om det inte finns något radnummer.
Tillagd i version 3.12.