Frame Objects

typePyFrameObject
Part of theLimited API (as an opaque struct).

The C structure of the objects used to describe frame objects.

There are no public members in this structure.

Changed in version 3.11:The members of this structure were removed from the public C API.Refer to theWhat’s New entryfor details.

ThePyEval_GetFrame() andPyThreadState_GetFrame() functionscan be used to get a frame object.

See alsoReflection.

PyTypeObjectPyFrame_Type

The type of frame objects.It is the same object astypes.FrameType in the Python layer.

Changed in version 3.11:Previously, this type was only available after including<frameobject.h>.

intPyFrame_Check(PyObject*obj)

Return non-zero ifobj is a frame object.

Changed in version 3.11:Previously, this function was only available after including<frameobject.h>.

PyFrameObject*PyFrame_GetBack(PyFrameObject*frame)

Get theframe next outer frame.

Return astrong reference, orNULL ifframe has no outerframe.

New in version 3.9.

PyObject*PyFrame_GetBuiltins(PyFrameObject*frame)

Get theframe’sf_builtins attribute.

Return astrong reference. The result cannot beNULL.

New in version 3.11.

PyCodeObject*PyFrame_GetCode(PyFrameObject*frame)
Part of theStable ABI since version 3.10.

Get theframe code.

Return astrong reference.

The result (frame code) cannot beNULL.

New in version 3.9.

PyObject*PyFrame_GetGenerator(PyFrameObject*frame)

Get the generator, coroutine, or async generator that owns this frame,orNULL if this frame is not owned by a generator.Does not raise an exception, even if the return value isNULL.

Return astrong reference, orNULL.

New in version 3.11.

PyObject*PyFrame_GetGlobals(PyFrameObject*frame)

Get theframe’sf_globals attribute.

Return astrong reference. The result cannot beNULL.

New in version 3.11.

intPyFrame_GetLasti(PyFrameObject*frame)

Get theframe’sf_lasti attribute.

Returns -1 ifframe.f_lasti isNone.

New in version 3.11.

PyObject*PyFrame_GetLocals(PyFrameObject*frame)

Get theframe’sf_locals attribute (dict).

Return astrong reference.

New in version 3.11.

intPyFrame_GetLineNumber(PyFrameObject*frame)
Part of theStable ABI since version 3.10.

Return the line number thatframe is currently executing.