Allerdings scheint dies bei mir nicht zu funktionieren oder ich habe das Konzept nicht vollständig verstanden. Dieses Code-Snippet gibt den Standardwert None zurück, anstelle der Zeichenfolge „new_value“, die ich mir erhofft hatte. Die einzige Möglichkeit, dies zum Laufen zu bringen, bestand darin, ctx_var in foo() zu verwenden, aber das verfehlt irgendwie den Zweck, keinen Zugriff auf die Variable zu haben.
Code: Select all
from contextvars import ContextVar
ctx_var = ContextVar("bar")
token = ctx_var.set("new_value")
def foo():
bar = ContextVar("bar")
bar_value = bar.get(None)
print(bar_value)
foo()
ctx_var.reset(token)
Mobile version