python迭代器具备两个基本条件:
1 实现__iter__方法,返回自身。
2 实现next方法,返回下一个元素,并且当元素没有了要抛出StopIteration异常。
另外有说法是:一个实现了__iter__的对象是可迭代的,一个实现了next方法的对象是迭代器。
class myiter: #接收一个迭代数值 def __init__(self, i): self.i = i #实现__iter__,返回迭代对象自身 def __iter__(self): return self #实现next def next(self): self.i -= 1 if self.i <0: raise StopIteration return self.i #以上就是一个迭代器 可以迭代之 m = myiter(10) for i in m: print i