asyncio异步编程(三)

1.异步迭代器

迭代器:内部实现__iter__()和__next__()方法的对象。

可迭代对象:内部实现__iter__()方法,并且可以返回迭代器的对象。

异步迭代器:实现__aiter__()和__anext__()方法的对象。

异步可迭代对象:内部实现__aiter__()方法,并且可以返回迭代器的对象。

可迭代对象或者迭代器可以被for循环。

async for遍历方式使用时,必须写在协程函数内。

2.异步上下文管理器

上下文管理器:之前做的操作,之后做的操作。

对象中定义__aenter__()和__aexit__()方法来对async with语句中的环境进行控制。该对象支持async with方式拿到该对象。必须嵌套在协程函数中使用。

用法:在操作前打开什么东西,操作后又关闭什么东西。这种场景下使用较多。

一般都是封装好的接口。

3.uvloop补充

是asyncio的事件循环的替代方案。事件循环>默认asyncio的事件循环。

fastAPI内部使用了uvicorn,所以效率高。也是因为uvicorn内部的事件循环使用的是uvloop所以效率高。

相关推荐
m0_689618281 小时前
数学建模助力干细胞研究,配体纳米簇如何影响干细胞命运
笔记·数学建模
羊村懒哥2 小时前
tomcat-安装笔记(包含虚拟主机配置)
java·笔记·tomcat
qq_430583973 小时前
QT笔记- QTreeView + QFileSystemModel 当前位置的保存与恢复 #选中 #保存当前索引
开发语言·笔记·qt
小王爱吃月亮糖3 小时前
QT-QVariant类应用
开发语言·c++·笔记·qt·visual studio
红色的山茶花3 小时前
YOLOv9-0.1部分代码阅读笔记-hubconf.py
笔记·深度学习·yolo
无涯学徒19983 小时前
J9学习打卡笔记
笔记·学习
软茸兔3 小时前
笔记:一次oracle 集群日志维护
数据库·笔记·oracle
明明真系叻10 小时前
第二十六周机器学习笔记:PINN求正反解求PDE文献阅读——正问题
人工智能·笔记·深度学习·机器学习·1024程序员节
mashagua13 小时前
RPA系列-uipath 学习笔记3
笔记·学习·rpa
nikoni2313 小时前
828考研资料汇总
笔记·其他·硬件工程