python如何实现迭代器模式

本文小编为大家详细介绍“python如何实现迭代器模式”,内容详细,步骤清晰,细节处理妥当,希望这篇“python如何实现迭代器模式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联公司是一家专注于网站制作、成都网站建设与策划设计,大通网站建设哪家好?创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:大通等地区。大通做网站价格咨询:028-86922220

代码实例

由于迭代器已经是很多语言的标准装备,所以在实际的开发中,首先应该考虑语言中提供的迭代器,在功能不能满足需求时,根据语言定义的迭代器接口定义自己的浏览器。接下来我们通过Python语言的例子,说明几个迭代器模式的应用。

Python语言中已经事先定义了多种容器,例如列表和字典等。这些容器都提供了一个iter方法用于获取迭代器。下面使用Python语言中的迭代器来实现一个聚合类,及其子元素的表示功能。

python如何实现迭代器模式

聚合类1内部定义了一个列表,用于管理下级子元素。聚合类2不包含下级子元素,但是有三个数据成员。这两个类分别实现了iter方法,其中聚合类1返回了Python语言中列表的迭代器,聚合类2不包含下级成员,所以在它的迭代器方法中返回了数据成员的字典。准备好迭代器方法之后,用户可以使用相同的迭代器方法访问两种实现方式完全不同的聚合类。

python如何实现迭代器模式

可以看到聚合类2的数据成员是按照数据成员被定义的顺序输出的。在实际的开发中,有时也会希望数据成员按照另外的顺序输出。这时就需要自己定义迭代器了。

python如何实现迭代器模式

上述代码是使用迭代器访问不同数据结构聚合类的例子。也可以使用迭代器的组合来实现不同方式的访问。例如下面的代码使用相同的算法分别对列表和字典中的数值进行求和

我们也可以定义另外的迭代器,用于筛选容器中的数据:

python如何实现迭代器模式

通过这个迭代器和已有迭代器的组合,我们就可以在既不改变算法又不改变数据结构的前提下实现数据的筛选

读到这里,这篇“python如何实现迭代器模式”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


分享标题:python如何实现迭代器模式
分享地址:http://myzitong.com/article/gegeco.html