介绍
这篇文章给大家介绍Python中迭代器模式的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Python的优点有哪些
1,简单易用,与C/c++、Java、c#等传统语言相比,Python对代码格式的要求没有那么严格;2,Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3,Python面向对象,能够支持面向过程编程,也支持面向对象编程;4,Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5,Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
迭代器模式的演示:
# !/usr/bin/env Python #,- *安康;编码:utf-8 - * 时间=__author__ & # 39;安迪# 39; “““ 大话设计模式 设计模式,迭代器模式 迭代器模式(Iterator 模式):提供方法顺序访问一个聚合对象中各元素,而又不暴露该对象的内部表示。 “““ #迭代器抽象类 class 迭代器(对象): def 才能;第一(自我): ,才能通过 def 才能;其次(自我): ,才能通过 def 才能结束(自我): ,才能通过 def 才能CurrItem(自我): ,才能通过 #聚集抽象类 class 聚合(对象): def 才能CreateIterator(自我): ,才能通过 #具体迭代器类 class ConcreteIterator(迭代器): def 才能__init__(自我,,总): ,,,self.aggregate =总 ,,,self.curr =0 def 才能;第一(自我): ,,,return self.aggregate [0] def 才能;其次(自我): ,,,ret =,没有 ,,,self.curr +=1 ,,,if self.curr & lt;, len (self.aggregate): ,,,,,ret =, self.aggregate [self.curr] ,,,return 受潮湿腐烂 def 才能结束(自我): ,,,return True if self.curr + 1,祝辞=,len (self.aggregate), else 错误的 def 才能CurrItem(自我): ,,,return self.aggregate [self.curr] #具体聚集类 class ConcreteAggregate(总): def 才能__init__(自我): ,,,self.ilist =, [] def 才能CreateIterator(自我): ,,,return ConcreteIterator(自我) class ConcreteIteratorDesc(迭代器): def 才能__init__(自我,,总): ,,,self.aggregate =总 ,,,self.curr =, len(总)1 def 才能;第一(自我): ,,,return self.aggregate [1] def 才能;其次(自我): ,,,ret =,没有 ,,,self.curr -=1 ,,,if self.curr 祝辞=,0: ,,,,,ret =, self.aggregate [self.curr] ,,,return 受潮湿腐烂 def 才能结束(自我): ,,,return True if self.curr-1<0, else 错误的 def 才能CurrItem(自我): ,,,return self.aggregate [self.curr] if __name__==癬_main__": 时间=ca 才能;ConcreteAggregate () ca.ilist.append才能(“大鸟”) ca.ilist.append才能(“小菜“) ca.ilist.append才能(“老外“) ca.ilist.append才能(“小偷“) 时间=itor 才能;ConcreteIterator (ca.ilist) print 才能;itor.First () while 才能;not  itor.Isdone (): ,,,print itor.Next () print 才能;“- - - - -倒序- - - - -“ 时间=itordesc 才能;ConcreteIteratorDesc (ca.ilist) print 才能;itordesc.First () while 才能;not  itordesc.Isdone (): ,,,print itordesc.Next ()
运行结果:
上面类的设计如下图:
关于Python中迭代器模式的原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。