classDemolterator(object):def__init__(self,container):
self.container=container
self.salt=len(self.container)def__iter__(self):return self
def__next__(self):
self.salt-=1print(self.salt)if self.salt>=0:return self.container[self.salt]else:raise StopIteration
di=Demolterator([1,2,3,4,5,6,7,8])for i in di:print(i,end="")
import time
classDemolterator(object):def__init__(self,container):
self.container=container
def__iter__(self):return self
def__next__(self):
self.container=self.container+1return self.container
di=Demolterator(1)for i in di:print(i)
time.sleep(1)
3.生成器
#设计原则#1.函数中有迭代/循环过程#2.每次结果以yield方式表达#3.结合for..in..使用defgetValue(max):import random
ls=list(range(10))print(ls,end="")for i inrange(max):yield ls[random.randint(0,9)]for i in getValue(10):print(i)