首页 > 编程语言 >Python 异步迭代器

Python 异步迭代器

时间:2022-09-24 17:12:53浏览次数:48  
标签:__ 异步 return 迭代 Python self value async def

1、参考来源

https://docs.python.org/zh-cn/3.9/reference/datamodel.html?highlight=aiter#asynchronous-iterators

2、代码示例:

 1 # -*- coding: utf-8 -*-
 2 """
 3    File Name : test
 4    Description :
 5    Author : Administrator
 6 """
 7 import asyncio
 8 
 9 
10 class Reader(object):
11 
12     def __init__(self):
13         self.count = 0
14 
15     async def readline(self):
16         self.count += 1
17         if self.count == 100:
18             return None
19         return self.count
20 
21     def __aiter__(self):
22         return self
23 
24     async def __anext__(self):
25         value = await self.readline()
26         if value == None:
27             raise StopAsyncIteration
28         return value
29 
30 
31 async def task_func():
32     reader_obj = Reader()
33     async for value in reader_obj:
34         print(value)
35 
36 
37 if __name__ == '__main__':
38     asyncio.run(task_func())

3、运行结果

输出1-99的数字,这里忽略结果

 

标签:__,异步,return,迭代,Python,self,value,async,def
From: https://www.cnblogs.com/ygbh/p/16726013.html

相关文章

  • python 9.24
    classRectangle():defgetperi(self,a,b):return(a+b)*2defgetArea(self,a,b):returna*brect=Rectangle()print(rect.getperi(3,......
  • asyncio与不支持异步的模块结合使用
    1、使用前提将不支持异常的模板与asyncio结合使用【默认是使用线程池+事件循环】2、同时下载3张图片的示例1#-*-coding:utf-8-*-2"""3FileName:te......
  • python解释器下载与安装指导手册
    python解释器下载与安装指导手册1.python解释器1.1下载地址1https://www.python.org/1.2.python解释器下载1.3.python解释器主流版本python2.Xpython2.7是2.......
  • Python使用事件循环创建线程池和进程池
    1、来源参考参考官方文档示例:https://docs.python.org/3.9/library/asyncio-eventloop.html#asyncio.loop.run_in_executor2、代码示例1#-*-coding:utf-8-*-2......
  • Python基础教程,Python入门教程(超详细)
    Python由荷兰数学和计算机科学研究学会于1990年代初设计,作为一门叫做ABC语言的替代品。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应......
  • Python爬取全球疫情数据,制作数据可视化图
    前言开发环境python3.8:解释器pycharm:代码编辑器requests发送请求pyecharts绘制图表pandas读取数据爬虫案例思路流程:一.数据来源分析:......
  • Python中的赋值表达式
    赋值表达式(assignmentexpression)是Python3.8新引入的语法,它会用到海象操作符(walrusoperator)。这种写法可以解决某些持续已久的代码重复问题。a=b是一条普通的赋值语......
  • python爬虫随机headers伪装fake_useragent
    python爬虫随机headers伪装fake_useragentfake_useragent库调用方法ua.random可以随机返回一个headers(User-Agent)fromfake_useragentimportUserAgent#下载:pip......
  • 让 Python 社区活跃起来的修复
    让Python社区活跃起来的修复在Python的整数字符串转换中发现的漏洞的“修复”一直是Python社区讨论的主题。Photoby阿图里·贾利on不飞溅如您所知,整数数据......
  • python安装库的时候产生'check_hostname requires server_hostname'解决方法
    pipinstallxxx的时候报错...   raiseValueError("check_hostnamerequiresserver_hostname")ValueError:check_hostnamerequiresserver_hostname换源#清华源pi......