Python3 自定义迭代器

1、迭代器基于下面两个个方法:

(1)__next__ 返回容器的下一个项目

(2)__iter__ 返回迭代器本身

2、当序列遍历完时,将抛出StopIteration异常,所以通过捕获这个异常来停止循环

下面是自定义迭代器的示例代码:

#encoding:UTF-8
class MyIterator(object):
    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 i in MyIterator(6):
    print(i)
输出结果:
>>> ================================ RESTART ================================
>>> 
5
4
3
2
1
0
>>> 



你可能感兴趣的:(python3)