迭代器
1、迭代可以理解为遍历输出
2、列表、字符串、元组都是迭代对象,但不是迭代器
3、iter(),创建迭代器
4、next(),获取迭代器里的元素
a=[1,2,3,4,5] it =iter(a) print(next(it)) print(next(it)) 运行结果: 1 2
5、将列表转为迭代器,其实就是多此一举,不能实现内存的节省
二、创建一个迭代器类,计算平方值
1、初始化方法里面定义计算的范围
2、iter方法里返回自身
3、next方法里定义实现的内容
4、当超过范围时,抛出StopIteration异常
class diedaiqi(): def __init__(self,s,t): self.s=s self.t=t def __iter__(self): return self#返回迭代器对象,固定写法 def __next__(self): if self.s>self.t: raise StopIteration it=self.s**2 self.s+=1 return it a=diedaiqi(9,20) for i in a: print(i)