迭代器
迭代器是一个实现了迭代器协议的容器对象。基于两种方法next:返回容器的下一个元素iter:返回迭代器本身
i=iter(‘abc‘)
next(i)
next(i)
当遍历完序列时,会引发一个StopIteration异常。这样迭代器就可以与循环兼容,因为可以捕获这个异常并停止循环。自定义一个可以迭代的类,只需要提供可以返回自身的iter特殊方法
class CountDown:
def __init__(self,step):
self.step=step
def __next__(self):
if self.step<=0:
raise StopIteration
self.step-=1
return self.step
def __iter__(self):
return self
for element in CountDown(4):
print(element)