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

相关推荐
麻雀无能为力几秒前
python自学笔记14 NumPy 线性代数
笔记·python·numpy
竹杖芒鞋轻胜马,夏天喜欢吃西瓜2 小时前
二叉树学习笔记
数据结构·笔记·学习
_Kayo_3 小时前
React 学习笔记2 props、refs
笔记·学习·react.js
阿阳微客6 小时前
CSGO搬砖项目详解:从装备选择到市场策略
笔记·学习·游戏
RanceGru6 小时前
神经网络学习笔记11——高效卷积神经网络架构SqueezeNet
笔记·神经网络·学习
慕伏白6 小时前
【慕伏白】CTFHub 技能树学习笔记 -- Web 之密码口令
笔记·学习
麻雀无能为力7 小时前
python 自学笔记13 numpy数组规整
笔记·python·numpy
17岁的勇气7 小时前
Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)
笔记·学习·unity
天下琴川8 小时前
Dify智能体平台二次开发笔记(10):企业微信5.0 智能机器人对接 Dify 智能体
笔记·机器人·企业微信
njsgcs8 小时前
部署网页在服务器(公网)上笔记 infinityfree 写一个找工作单html文件的网站
笔记