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所以效率高。

相关推荐
代码游侠12 分钟前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
逑之34 分钟前
C语言笔记11:字符函数和字符串函数
c语言·笔记·算法
逑之38 分钟前
C语言笔记1:C语言常见概念
c语言·笔记·c#
镜中人★42 分钟前
408计算机组成原理考纲知识点
网络·笔记
ljt27249606612 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack
强子感冒了2 小时前
Java 学习笔记:File类核心API详解与使用指南
java·笔记·学习
别了,李亚普诺夫2 小时前
USB拓展坞-PCB设计学习笔记
笔记·学习
逑之2 小时前
C语言笔记14:结构体、联合体、枚举
c语言·开发语言·笔记
claider3 小时前
Vim User Manual 阅读笔记 User_03.txt move around
笔记·编辑器·vim
saoys3 小时前
Opencv 学习笔记:一文掌握四种经典图像滤波(均值 / 高斯 / 中值 / 双边)
笔记·opencv·学习