Frame Objects
type PyFrameObject
Part of the Limited API (as an opaque struct).
The C structure of the objects used to describe frame objects.
There are no public members in this structure.
在 3.11 版更改: The members of this structure were removed from the public C API. Refer to the What’s New entry for details.
The PyEval_GetFrame() and PyThreadState_GetFrame() functions can be used to get a frame object.
See also Reflection.
PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)
Get the frame next outer frame.
Return a strong reference, or NULL
if frame has no outer frame.
3.9 新版功能.
PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)
Get the frame‘s f_builtins
attribute.
Return a strong reference. The result cannot be NULL
.
3.11 新版功能.
PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)
Part of the Stable ABI since version 3.10.
Get the frame code.
Return a strong reference.
The result (frame code) cannot be NULL
.
3.9 新版功能.
PyObject *PyFrame_GetGenerator(PyFrameObject *frame)
Get the generator, coroutine, or async generator that owns this frame, or NULL
if this frame is not owned by a generator. Does not raise an exception, even if the return value is NULL
.
Return a strong reference, or NULL
.
3.11 新版功能.
PyObject *PyFrame_GetGlobals(PyFrameObject *frame)
Get the frame‘s f_globals
attribute.
Return a strong reference. The result cannot be NULL
.
3.11 新版功能.
int PyFrame_GetLasti(PyFrameObject *frame)
Get the frame‘s f_lasti
attribute.
Returns -1 if frame.f_lasti
is None
.
3.11 新版功能.
PyObject *PyFrame_GetLocals(PyFrameObject *frame)
Get the frame‘s f_locals
attribute (dict).
Return a strong reference.
3.11 新版功能.
int PyFrame_GetLineNumber(PyFrameObject *frame)
Part of the Stable ABI since version 3.10.
Return the line number that frame is currently executing.