python关键字 async 和 await
时间: 2023-08-27 08:14:57 浏览: 158
async和await的用法
在 Python 中,async 和 await 也是用于处理异步操作的关键字。
async 用于定义一个异步函数,表示这个函数是可被 await 关键字暂停执行的函数。
await 用于等待一个异步操作的完成。在异步函数中,当遇到 await 关键字时,它会暂停函数的执行,直到等待的异步操作完成并返回结果。然后,异步函数会恢复执行,并返回 await 表达式的结果。
使用 async 和 await 可以实现协程(coroutine),通过异步方式执行任务,提高程序的并发性和响应性。
以下是一个使用 async 和 await 的示例:
```python
import asyncio
async def fetch_data():
try:
response = await some_async_function()
data = await response.json()
print(data)
except Exception as e:
print(e)
asyncio.run(fetch_data())
```
在上面的示例中,fetch_data 函数是一个异步函数。它使用 await 关键字等待 some_async_function 返回的协程对象,将其结果赋值给 response 变量。然后,使用 await 关键字再次等待 response 对象调用 json 方法返回的协程对象,将其结果赋值给 data 变量。最后,打印从服务器获取的数据或捕获可能发生的异常。
需要注意的是,异步函数必须在事件循环(event loop)中运行。在示例中,使用 asyncio.run() 函数来运行异步函数。
阅读全文