上下文变量对象¶
在 3.7.1 版更改:
注解
在python 3.7.1中,所有上下文变量c api的签名是 改变 使用 PyObject
指针而不是 PyContext
, PyContextVar
和 PyContextToken
,例如:
// in 3.7.0:
PyContext *PyContext_New(void);
// in 3.7.1+:
PyObject *PyContext_New(void);
见 bpo-34762 了解更多详细信息。
3.7 新版功能.
本节详细介绍了 contextvars
模块。
-
type PyContext¶
用于表示a的c结构
contextvars.Context
对象。
-
type PyContextVar¶
用于表示a的c结构
contextvars.ContextVar
对象。
-
type PyContextToken¶
用于表示a的c结构
contextvars.Token
对象。
-
PyTypeObject PyContext_Type¶
类型对象表示 context 类型。
-
PyTypeObject PyContextVar_Type¶
类型对象表示 上下文变量 类型。
-
PyTypeObject PyContextToken_Type¶
类型对象表示 上下文变量标记 类型。
类型检查宏:
-
int PyContext_CheckExact(PyObject *o)¶
返回true if o 属于类型
PyContext_Type
. o 不得NULL
. 此函数总是成功的。
-
int PyContextVar_CheckExact(PyObject *o)¶
返回true if o 属于类型
PyContextVar_Type
. o 不得NULL
. 此函数总是成功的。
-
int PyContextToken_CheckExact(PyObject *o)¶
返回true if o 属于类型
PyContextToken_Type
. o 不得NULL
. 此函数总是成功的。
上下文对象管理功能:
-
PyObject *PyContext_Copy(PyObject *ctx)¶
- Return value: New reference.
创建传递的 ctx 上下文对象。返回
NULL
如果发生错误。
上下文变量函数:
-
PyObject *PyContextVar_New(const char *name, PyObject *def)¶
- Return value: New reference.
创建新的
ContextVar
对象。这个 name 参数用于自省和调试目的。这个 def 参数可以选择指定上下文变量的默认值。如果发生错误,此函数将返回NULL
.
-
int PyContextVar_Get(PyObject *var, PyObject *default_value, PyObject **value)¶
获取上下文变量的值。返回
-1
如果在查找过程中发生错误,并且0
如果没有出现错误,则无论是否找到值。如果找到上下文变量, value 将是指向它的指针。如果上下文变量是 not 发现, value 将指向:
default_value ,如果不是
NULL
;默认值为 var ,如果不是
NULL
;NULL
如果找到该值,函数将创建对它的新引用。
-
PyObject *PyContextVar_Set(PyObject *var, PyObject *value)¶
- Return value: New reference.
设置的值 var 到 value 在当前上下文中。返回指向
PyObject
对象,或NULL
如果发生错误。
-
int PyContextVar_Reset(PyObject *var, PyObject *token)¶
重置的状态 var 它以前所在的上下文变量
PyContextVar_Set()
返回了 令牌 被调用。此函数返回0
论成功与否-1
关于错误。