Python学习(十四)--迭代器

        迭代的意思是重复做一件事很多次,就像在循环中做的那样。如果一个对象实现了__iter__方法,就可以对对象进行迭代。
        __iter__方法会返回一个迭代器,所谓的迭代器就是具有next方法的对象。next方法不需要任何参数,调用next方法时,迭代器会返回他的下一个值。如果next方法被调用,但是迭代器没有值可以返回,就会引发一个StopIteration异常。
        迭代器是使用的时候算一个值,不是像列表一样一次性获取所有制,占用较多内存。
class Fibs(Object):
    def __init__(self):
        self.a = 0
        self.b = 1
    def next(self):
        self.a, self.b = self.b, self.a+self.b
        return self.a
    def __iter__(self):
        return self
 
fibs = Fibs()
for f in fibs:
    if f >20:
        print f
        break 

猜你喜欢

转载自www.cnblogs.com/mujiujiu/p/9280064.html