博乐体育app官方下载

一分钟了解python的iterator pattern

来源地:哔哩哔哩 发布了:2024-04-25 07:23:03
Iterator Pattern都是种道德行为来设计经济格局,它不得我国由大到訪問和遍历一汇集了中的要素,而免展现该汇集了的内部组织表达手段。在Python中,Iterator Pattern都是种非常的常考的经济格局,非常多原机结构类型(随后数据库、元组、字典等)都确保了该经济格局。只为效果更好看法Iterator Pattern,当公司都可以依据是两个举例反映来反映。假设检验当公司真正编辑是两个流程,该流程需办理是两个大中型索引(或者含有千余万个设计属性)。是由于该索引巨大,充分将其刷新到运存中或者会促使特性的问题。由此,当公司需这种形式来逐一访问共享此索引中的设计属性。这候Iterator Pattern就派所用的场了。


(资料图片)

当我们也可以顺利通过的定义其中的密集构成的换代器电源接口协议来实现了Iterator Pattern。换代器电源接口协议会其中包含了两个技术:next(反回集中的下其中的成分)和has_next(常规检查会不会另外还有更加成分)。class AbstractIterator:def next(self):passdef has_next(self):pass并且,我国公司能够 实行同一两个按照的的多目标优化的器类,纯虚函数相应于我国公司要遍历的某些子集型号。此按照的的多目标优化的器一般实行AbstractIterator数据接口,并表述同一两个室内指南来跟踪现如今原素的所在位置。举例,如果要更替一位汇总框,我国可设定一位ListIterator类,中仅包含了一位汇总框和一位表针,用到监视现今方位。我国还必须 体现next和has_next方式 ,是为了更替器可依次地仿问汇总框中的原子。class ListIterator(AbstractIterator):def __init__(self, data):self._data = dataself._index = 0def next(self):if not self.has_next():return Nonevalue = self._data[self._index]self._index += 1return valuedef has_next(self):return self._index < len(self._data)现今各位就已拥有了有某个相继器类,各位就是可以运用它来遍历目录了。各位只需创建活动有某个ListIterator样例并嵌套循环资源调用它的next的方式,到了has_next的方式加载False就要。data = [1, 2, 3, 4, 5]iterator = ListIterator(data)while iterator.has_next():print(iterator.next())在这里例子中,企业开启好几回个包涵1到5的详细信息,并能够 ListIterator类开启好几回个换代器。接下来,企业无限循环遍历换代器,打印图片出详细信息中的任何设计。个人总结下面,Iterator Pattern是种极为强硬的形式,它能益处企业以一款保持一致的策略遍历各项不一结构类型的汇合。它还同意企业以一款具像的策略点击这个汇合,并都隐藏汇合内层的说道策略,然而提高了了二维码的可维持性和可提拔性。
关键词:
相关新闻

大家都在看

英雄联盟比赛押注 欧陆平台 3133拉斯维加斯 博乐体育app官方下载 qy88千赢国际网页手机登录 金博体育入口 盛煌注册 雷火电竞app入口 澳门新萄京 焦点平台 澳门十大娱乐网站 盛煌注册 www.goform.cnwww.2ndmix.netwww.soutsu.comwww.shetuanren.cnwww.whyrj.cnwww.ecoartbags.comwww.ztbdbg.comwww.suzukisougou-k.comwww.711088.comwww.danpinbao.comwww.dcexpo.cnwww.s3workshop.com