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

相关推荐
_落纸2 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
Alice-YUE2 天前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha2 天前
SpringBoot
笔记·学习
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中2 天前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto2 天前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h2 天前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
周周记笔记3 天前
学习笔记:第一个Python程序
笔记·学习
丑小鸭是白天鹅3 天前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
潘达斯奈基~3 天前
《大数据之路1》笔记2:数据模型
大数据·笔记