可迭代对象、迭代器与生成器

直接作用于 for 循环的对象统称为可迭代对象。

Python中,一边循环一边计算的机制,成为生成器:generator

Python中,yield 的作用就是把一个函数变成一个生成器

在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

调用一个生成器函数,返回的是一个迭代器对象。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()

生成器是一种特殊的迭代器,它支持所有的迭代操作。除此之外。生成器还实现了一些迭代器没有实现的特性,比如可以通过send方法,实现和生成器内部的数据进行交互,

通过close方法去关闭生成器或者通过throw方法去抛出生成器里面的异常。

 

posted @ 2020-10-21 22:09  叶倁鞦  阅读(102)  评论(0)    收藏  举报