Python学习107:async/await
2023-09-14 09:06:14 时间
用asyncio
提供的@asyncio.coroutine
可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from
调用另一个coroutine实现异步操作。
为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法async
和await
,可以让coroutine的代码更简洁易读。
请注意,async
和await
是针对coroutine的新语法,要使用新的语法,只需要做两步简单的替换:
- 把
@asyncio.coroutine
替换为async
; - 把
yield from
替换为await
。
让我们对比一下上一节的代码:
@asyncio.coroutine
def hello():
print("Hello world!")
r = yield from asyncio.sleep(1)
print("Hello again!")
用新语法重新编写如下:
async def hello():
print("Hello world!")
r = await asyncio.sleep(1)
print("Hello again!")
剩下的代码保持不变。
小结
Python从3.5版本开始为asyncio
提供了async
和await
的新语法;
注意新语法只能用在Python 3.5以及后续版本,如果使用3.4版本,则仍需使用上一节的方案。
更多内容,可关注作者的微信公众号:胖哥真不错。
相关文章
- 【华为云实战开发】13.如何在云端快速搭建python网站
- 机器学习10种经典算法的Python实现
- Python - IPython
- python自定义异常实例详解
- python转换emoji字符串
- ftplib模块【python】
- 2022年如何学习Python,保姆级新手入门指南
- TF学习:Tensorflow基础案例、经典案例集合——基于python编程代码的实现
- Python每日一练(机器学习)——第43天:鸢尾花分类
- 我在项目中为什么会选择用Python做web开发?
- Python开发环境
- 〖Python零基础入门篇⑱〗- Python字符串常用方法
- 〖Python语法进阶篇⑰〗- 综合实战 - 抽奖系统之admin模块 - 对用户添加封禁身份修改
- 效率倍增,PyCaret:一个开源、低代码的 Python 机器学习工具
- 深度盘点:整理了32个Python图形化界面
- 【阶段一】Python快速入门01篇:Python基础环境、Python基础概念、字符串常用操作
- Python学习53:调试
- 最新Python异步编程详解
- python 了解一下__dict__
- Python接口自动化——Web接口
- Python学习笔记(八)—— 使用dict和set
- 03-为控件添加提示信息-python+pycharm实现PyQt5
- 学习Python(八):时间模块