python的迭代

    迭代,指的是多次重复做一件事。

    迭代器,则是具有next方法的对象,到了3.0改为__next__。

    可迭代的要求就是对象实现了__iter__方法。

    用函数获取迭代器iter(iterable object)

    迭代器实现__iter__方法后就能放进for里面循环了(亦即是迭代)。

    最重要的是迭代器,而迭代器里最重要的是方法next(对应3.0的 __next__)。next的作用是做出值的改变并返回下一个对象,这两点足以构成一个迭代器。若不能返回一个迭代器,会引起StopIteration。

    不是所有对象都有next(对应3.0的__next__),为了让它们也能迭代,干脆也就让它们返回迭代器,就需要添加__iter__方法,返回迭代器的方法,而有了这个方法,为了跟迭代器区分,我们就叫它们是可迭代的,表明他们的迭代性是间接的。

    其实,最好的方法是在迭代器里实现__iter__,就能在for里直接迭代了(本身就能迭代)。

    

你可能感兴趣的:(python)