import contextvars contextvars.Token # получение токена var = contextvars.ContextVar('var') token = var.set('new_value')
Объекты токенов Token
модуля contextvars
создаются методом ContextVar.set()
.
Объект токена можно передать в метод ContextVar.reset()
, чтобы вернуть значение переменной к тому значению, что было до вызова метода ContextVar.set()
.
Token
.Token.var
:Атрибут Token.var
только для чтения. Указывает на объект ContextVar
, создавший токен.
Token.old_value
:Атрибут Token.old_value
только для чтения. Возвращает значение, которое переменная имела до вызова метода ContextVar.set()
, создавшего токен. Он указывает на маркер Token.MISSING
.
Token.MISSING
:Объект маркера Token.MISSING
, используется атрибутом Token.old_value
.
Token
:var = ContextVar('var') token = var.set('new_value') ... # здесь будет код, использующий 'var'; # метод var.get() возвращает 'new_value'. ... var.reset(token) # После вызова var.reset(), переменная 'var' не будет # иметь значения, т.к. задана только в контексте # а вызов var.get() вызовет `LookupError`.