迭代器

作者: 先爔 | 来源:发表于2019-10-09 20:02 被阅读0次

    实现自己的迭代器

    我们以生成斐波那契數列为例,创建一个迭代器类:

    class Fab(object):
        
        def __init__(self, max):
            self.max = max
            self.n = 0
            self.a = 0
            self.b = 1
            
        def __iter__(self):
            return self
        
        def __next__(self):
            if self.n < self.max:
                r = self.b
                self.a, self.b = self.b, self.a + self.b
                self.n = self.n + 1
                return r
            raise StopIteration()
    

    主要实现两个方法:iternext
    调用方式如下:

    for n in Fab(5):
        print(n) 
    

    结果如下:

    1
    1
    2
    3
    5
    

    相关文章

      网友评论

          本文标题:迭代器

          本文链接:https://www.haomeiwen.com/subject/drveuctx.html