python await语句_【转载】对python async与await的理解
时间: 2023-12-28 14:03:06 浏览: 82
Python 的异步编程中,async 和 await 是两个关键字,用于定义异步处理的函数和协程。下面是对这两个关键字的简单解释:
- async:用于定义一个异步函数,一个异步函数可以被看作是一个协程。
- await:在协程中等待另一个协程或者 Future 对象执行完成。
下面我来简单介绍一下 Python 异步编程的一些概念和使用方法。
协程
协程是一种用户态的轻量级线程,可以在其中执行一些 IO 密集型的任务而不会阻塞整个应用程序。在 Python 中,协程一般使用 async 关键字定义。协程中使用 await 语句可以等待其他协程或者 Future 对象完成。
async/await
async 和 await 是 Python 3.5 之后引入的关键字,用于定义协程和等待协程执行完成。async 定义协程,await 等待协程执行完成。
在协程中,如果需要等待其他协程或者 Future 对象执行完成,可以使用 await 语句。await 语句会等待后面的协程或者 Future 执行完成,然后返回执行结果。
async with/async for
除了 async 和 await,Python 3.5 还引入了 async with 和 async for 语法。async with 用于定义异步上下文管理器,async for 则用于定义异步迭代器。
asyncio
Python 3.4 引入了 asyncio 模块,用于支持异步编程。asyncio 模块提供了一些协程相关的 API,包括事件循环、协程、任务和 Future。
asyncio 的主要功能是提供一个事件循环,用于调度协程的执行。在事件循环中,使用 run_until_complete 方法可以执行一个协程或者任务。
总结
async 和 await 是 Python 中异步编程的两个关键字,用于定义协程和等待协程执行完成。在 Python 3.5 之后,async 和 await 成为了 Python 异步编程的标准,同时还引入了 async with 和 async for 语法。asyncio 模块提供了一些协程相关的 API,用于支持异步编程。
阅读全文