微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python如何实现迭代器模式

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

代码实例

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

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

python如何实现迭代器模式

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

python如何实现迭代器模式

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

python如何实现迭代器模式

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

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

python如何实现迭代器模式

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐