python await用法
时间: 2023-07-21 20:16:25 浏览: 111
在 Python 中,`await` 关键字用于异步编程中,它通常与 `async` 关键字一起使用。`async` 用于定义一个异步函数,`await` 用于等待异步函数执行完成并返回结果。
具体来说,使用 `await` 的一般步骤是:
1. 定义一个异步函数,使用 `async def` 关键字进行定义;
2. 在异步函数中调用其他异步函数时,在函数调用前使用 `await` 关键字;
3. 使用 `asyncio` 模块的事件循环调用异步函数。
下面是一个例子,演示了如何使用 `await` 关键字:
```python
import asyncio
async def sleep_and_print():
print('Start sleeping')
await asyncio.sleep(1)
print('Stop sleeping')
async def main():
task1 = asyncio.create_task(sleep_and_print())
task2 = asyncio.create_task(sleep_and_print())
await task1
await task2
asyncio.run(main())
```
在上面的代码中,我们定义了一个异步函数 `sleep_and_print()`,该函数会打印一条消息,然后等待一秒钟。我们还定义了一个主函数 `main()`,该函数会创建两个任务,每个任务都会调用 `sleep_and_print()` 函数,然后使用 `await` 关键字等待任务完成。
最后,我们使用 `asyncio.run()` 函数来运行主函数。运行结果如下:
```
Start sleeping
Start sleeping
Stop sleeping
Stop sleeping
```
可以看到,两个任务被同时创建并执行,但是由于使用了 `await` 关键字,任务的执行是异步的,所以它们的执行顺序是交替的。
阅读全文