Objetos de variables de contexto¶
Added in version 3.7.
Distinto en la versión 3.7.1:
Nota
En Python 3.7.1, las firmas de todas las variables de contexto C APIs fueron cambiadas para usar punteros PyObject en lugar de PyContext, PyContextVar, y PyContextToken, por ejemplo:
// in 3.7.0:
PyContext *PyContext_New(void);
// in 3.7.1+:
PyObject *PyContext_New(void);
Ver bpo-34762 para más detalles.
Esta sección detalla la API pública de C para el módulo contextvars.
- 
type PyContext¶
 La estructura C utilizada para representar un objeto
contextvars.Context.
- 
type PyContextVar¶
 La estructura C utilizada para representar un objeto
contextvars.ContextVar.
- 
type PyContextToken¶
 La estructura C solía representar un objeto
contextvars.Token.
- 
PyTypeObject PyContext_Type¶
 El objeto de tipo que representa el tipo context.
- 
PyTypeObject PyContextVar_Type¶
 El objeto tipo que representa el tipo variable de contexto.
- 
PyTypeObject PyContextToken_Type¶
 El tipo objeto que representa el tipo token de variable de contexto.
Macros de verificación de tipo:
- 
int PyContext_CheckExact(PyObject *o)¶
 Retorna verdadero si o es de tipo
PyContext_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
- 
int PyContextVar_CheckExact(PyObject *o)¶
 Retorna verdadero si o es de tipo
PyContextVar_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
- 
int PyContextToken_CheckExact(PyObject *o)¶
 Retorna verdadero si o es de tipo
PyContextToken_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
Funciones de gestión de objetos de contexto:
- 
PyObject *PyContext_New(void)¶
 - Return value: New reference.
Crea un nuevo objeto de contexto vacío. Retorna
NULLsi se ha producido un error. 
- 
PyObject *PyContext_Copy(PyObject *ctx)¶
 - Return value: New reference.
Crea una copia superficial del objeto de contexto ctx pasado. Retorna
NULLsi se ha producido un error. 
- 
PyObject *PyContext_CopyCurrent(void)¶
 - Return value: New reference.
Crea una copia superficial del contexto actual del hilo. Retorna
NULLsi se ha producido un error. 
- 
int PyContext_Enter(PyObject *ctx)¶
 Establece ctx como el contexto actual para el hilo actual. Retorna
0en caso de éxito y-1en caso de error.
- 
int PyContext_Exit(PyObject *ctx)¶
 Desactiva el contexto ctx y restaura el contexto anterior como el contexto actual para el hilo actual. Retorna
0en caso de éxito y-1en caso de error.
Funciones variables de contexto:
- 
PyObject *PyContextVar_New(const char *name, PyObject *def)¶
 - Return value: New reference.
Crea un nuevo objeto
ContextVar. El parámetro name se usa para propósitos de introspección y depuración. El parámetro def especifica el valor predeterminado para la variable de contexto, oNULLpara no especificar un valor predeterminado. Si se ha producido un error, esta función retornaNULL. 
- 
int PyContextVar_Get(PyObject *var, PyObject *default_value, PyObject **value)¶
 Obtiene el valor de una variable de contexto. Retorna
-1si se produjo un error durante la búsqueda y0si no se produjo ningún error, se haya encontrado o no un valor.Si se encontró la variable de contexto, value será un puntero a ella. Si la variable de contexto not se encontró, value apuntará a:
default_value, si no es
NULL;el valor predeterminado de var, si no es
NULL;NULL
A excepción de
NULL, la función retorna una nueva referencia.
- 
PyObject *PyContextVar_Set(PyObject *var, PyObject *value)¶
 - Return value: New reference.
Establece el valor de var en value en el contexto actual. Retorna un nuevo objeto token para este cambio, o
NULLsi se ha producido un error. 
- 
int PyContextVar_Reset(PyObject *var, PyObject *token)¶
 Restablece el estado de la variable de contexto var a la que estaba antes
PyContextVar_Set()que retornó el token fue llamado. Esta función retorna0en caso de éxito y-1en caso de error.