1. 程式人生 > >Python學習(十四)--叠代器

Python學習(十四)--叠代器

pan 進行 沒有 做的 叠代 def next 異常 一次

叠代的意思是重復做一件事很多次,就像在循環中做的那樣。如果一個對象實現了__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

Python學習(十四)--叠代器