Frame Objects

Python documentation

typePyFrameObject

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.

Changed in version 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

.

PyTypeObject

PyFrame_Type

The type of frame objects. It is the same object as

types.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 if obj 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 the frame next outer frame.

Return a

strong reference

, or NULL if frame has no outer frame.

New in version 3.9.

PyObject

*PyFrame_GetBuiltins(

PyFrameObject

*frame)

Get the frame’s

f_builtins

attribute.

Return a

strong reference

. The result cannot be NULL.

New in version 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.

New in version 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.

New in version 3.11.

PyObject

*PyFrame_GetGlobals(

PyFrameObject

*frame)

Get the frame’s

f_globals

attribute.

Return a

strong reference

. The result cannot be NULL.

New in version 3.11.

intPyFrame_GetLasti(

PyFrameObject

*frame)

Get the frame’s

f_lasti

attribute.

Returns -1 if frame.f_lasti is None.

New in version 3.11.

PyObject

*PyFrame_GetLocals(

PyFrameObject

*frame)

Get the frame’s

f_locals

attribute (

dict

).

Return a

strong reference

.

New in version 3.11.

intPyFrame_GetLineNumber(

PyFrameObject

*frame)

Part of the

Stable ABI

since version 3.10.Return the line number that frame is currently executing.