Python 上下文变量
上下文变量可以根据其上下文具有不同的值。与每个执行线程可能具有不同变量值的线程本地存储不同,上下文变量可能是一个执行线程中的多个上下文。这对于跟踪并发异步任务中的变量很有用。
ContextVar类用于声明和使用上下文变量。
import contextvars name = contextvars.ContextVar("name", default = 'Hello')
当在当前上下文中找不到变量的值时,将返回可选的默认参数。ContextVar.get()
名称:变量的名称。这是一个只读属性。
ContextVar类中定义了以下方法
返回方法的默认参数的值(如果提供)-或
返回上下文变量的默认值,如果它是用一个创建的-或者
引发LookupError。
上下文变量模块中的上下文类是上下文变量到它们的值的映射。
Context():创建一个没有值的空上下文。
要获取当前上下文的副本,请使用该copy_context()函数。
run(callable,*args,**kwargs)方法在调用run方法的上下文对象中执行callable(*args,**kwargs)代码并返回执行结果。对callable所做的任何上下文变量的任何更改都将包含在上下文对象中。当从多个OS线程调用同一个上下文对象时,或递归调用时,该方法会引发RuntimeError。