我在jupyter笔记本(python 3.6.8)中运行了这段代码。我希望代码作为结果打印2,不知怎么的,它仍然打印1。我想知道为什么。
import asyncio
x = 1
async def func():
global x
x = 2
print(x)
await func()
print(x)结果是:

我使用的jupyter笔记本环境是:
4.6.3
发布于 2022-06-11 20:10:04
如果要在IPython协同器中更改全局变量,则必须获取asyncio.Lock。
import asyncio
x = 1
async def func():
global x
lock = asyncio.Lock()
await lock.acquire()
x = 2
lock.release()
await func()
print(x) # 2https://stackoverflow.com/questions/72586884
复制相似问题