python--迭代器和生成器详解
迭代器和生成器 在Python这门语言中,生成器毫无疑问是最有用的特性之一。生成器同时也满足iterator与iterable。 迭代器 这里有两个概念:Iterable(可迭代)与Iterator。 实现了__next__方法,就叫做Iterator,注意__next__要有退出条件。 实现了__iter__方法就是Iterable,且这个方法返回的是一个Iterator。 所以一个类中我可以不用全部实现__iter__和__next__,只用实现一个,于是我试了一下像这样: class Iterable(object): def __init__(self,MaxIter): self.MaxIter = MaxIter self.Iterator = Iterator(self.MaxIter) def __iter__(self): return self.Iterator class Iterator(object): def __init__(self,MaxIter): self.a, self.b = 0,1 self.iterNum = 0 self.MaxIter = MaxIter def __next__(self): self.iterNum += 1 self.a, self.b = self.b, self.a + self.b if self