Objetos frame

type PyFrameObject
Part of the Limited API (as an opaque struct).

La estructura C de los objetos utilizados para describir los objetos del frame.

No hay miembros públicos en esta estructura.

Distinto en la versión 3.11: Los miembros de esta estructura se han eliminado de la API pública de C. Consulte la entrada Novedades para más detalles.

Las funciones PyEval_GetFrame() y PyThreadState_GetFrame() pueden utilizarse para obtener un objeto frame.

Véase también Reflexión.

PyTypeObject PyFrame_Type

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

Distinto en la versión 3.11: Previously, this type was only available after including <frameobject.h>.

int PyFrame_Check(PyObject *obj)

Return non-zero if obj is a frame object.

Distinto en la versión 3.11: Previously, this function was only available after including <frameobject.h>.

PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)

Obtiene el frame exterior siguiente.

Retorna una strong reference, o NULL si frame no tiene frame exterior.

Nuevo en la versión 3.9.

PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)

Get the frame’s f_builtins attribute.

Retorna una strong reference, o NULL si frame no tiene frame exterior.

Nuevo en la versión 3.11.

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

Obtenga el código frame.

Retorna un strong reference.

El resultado (frame code) no puede ser NULL.

Nuevo en la versión 3.9.

PyObject *PyFrame_GetGenerator(PyFrameObject *frame)

Obtiene el generador, rutina o generador asíncrono al que pertenece este frame, o NULL si este frame no es propiedad de un generador. No lanza una excepción, incluso si el valor de retorno es NULL.

Retorna un strong reference, o NULL.

Nuevo en la versión 3.11.

PyObject *PyFrame_GetGlobals(PyFrameObject *frame)

Get the frame’s f_globals attribute.

Retorna una strong reference, o NULL si frame no tiene frame exterior.

Nuevo en la versión 3.11.

int PyFrame_GetLasti(PyFrameObject *frame)

Get the frame’s f_lasti attribute.

Retorna -1 si frame.f_lasti es None.

Nuevo en la versión 3.11.

PyObject *PyFrame_GetVar(PyFrameObject *frame, PyObject *name)

Get the variable name of frame.

  • Return a strong reference to the variable value on success.

  • Raise NameError and return NULL if the variable does not exist.

  • Raise an exception and return NULL on error.

name type must be a str.

Nuevo en la versión 3.12.

PyObject *PyFrame_GetVarString(PyFrameObject *frame, const char *name)

Similar to PyFrame_GetVar(), but the variable name is a C string encoded in UTF-8.

Nuevo en la versión 3.12.

PyObject *PyFrame_GetLocals(PyFrameObject *frame)

Get the frame’s f_locals attribute (dict).

Retorna un strong reference.

Nuevo en la versión 3.11.

int PyFrame_GetLineNumber(PyFrameObject *frame)
Part of the Stable ABI since version 3.10.

Retorna el número de línea en la que se está ejecutando el frame.

Internal Frames

Unless using PEP 523, you will not need this.

struct _PyInterpreterFrame

The interpreter’s internal frame representation.

Nuevo en la versión 3.11.

PyObject *PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);
This is Unstable API. It may change without warning in minor releases.

Return a strong reference to the code object for the frame.

Nuevo en la versión 3.12.

int PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);
This is Unstable API. It may change without warning in minor releases.

Return the byte offset into the last executed instruction.

Nuevo en la versión 3.12.

int PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);
This is Unstable API. It may change without warning in minor releases.

Return the currently executing line number, or -1 if there is no line number.

Nuevo en la versión 3.12.