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

相关推荐
必胜的思想钢印4 小时前
修改主频&睡眠模式&停机模式&待机模式
笔记·stm32·单片机·嵌入式硬件·学习
Dream Algorithm6 小时前
价格在走盘整,但是头寸持仓量增加说明什么
笔记
Radan小哥7 小时前
Docker学习笔记—day007
笔记·学习·docker
Rsingstarzengjx8 小时前
PS 笔记1
笔记
㱘郳8 小时前
软考软件设计师笔记
笔记·软件工程
嵌入式学习者。8 小时前
Eplan自学笔记1
笔记
风123456789~9 小时前
【OceanBase专栏】OceanBase 外部表实验
数据库·笔记·oceanbase
暮乘白帝过重山10 小时前
ArkTS 关键字速查笔记
笔记·arkts
Wild_Pointer.11 小时前
技术书籍精读笔记:全景目录
笔记
d111111111d11 小时前
W25Q60简介--SPI通信(笔记)
笔记·stm32·单片机·嵌入式硬件·学习