您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Python迭代模式实例详解

2024/3/5 23:29:29发布20次查看
本文主要和大家分享python迭代模式实例详解,主要以代码的形式和大家分享,希望能帮助到大家。
# -*- coding: utf-8 -*- """ created on thu mar 29 11:43:05 2018 @author: mz """ class iterator(object): def next(self): pass def hasnext(self): pass def first(self): pass def forward(self): pass class cocreteiterator(iterator): def __init__(self, aggregate): self._aggregate = aggregate def next(self): return self._aggregate.next() def hasnext(self): return self._aggregate.hasnext() def first(self): return self._aggregate.first() def forward(self): return self._aggregate.forward() class aggregate(object): def createiterator(self): pass def next(self): pass def hasnext(self): pass def first(self): pass def attach(self, obj): pass def forward(self): pass class concreteaggregate(object): def __init__(self): self._lst = [] self._index = 0 def createiterator(self): return cocreteiterator(self) def next(self): return self._lst[self._index] def hasnext(self): return self._index < len(self._lst) def first(self): self._index = 0 return self._lst[0] def attach(self, obj): self._lst.append(obj) def forward(self): self._index += 1 if "__main__" == __name__: aggregate = concreteaggregate() aggregate.attach(1) aggregate.attach("2") aggregate.attach("a") aggregate.attach("b") aggregate.attach("c") aggregate.attach("45") it = aggregate.createiterator() while it.hasnext(): print(it.next()) it.forward()
运行结果:
1 2 a b c 45
以上就是python迭代模式实例详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product