python 可迭代对象 迭代器 生成器,Python 迭代器 生成器
生成器是一个特殊的迭代器,它保存算法。每次调用next()或send()时,都会计算下一个元素的值,直到计算完最后一个元素。当没有更多的元素时,抛出StopIteration。生成器有两种,一种是生成器表达式(也叫生成器求导),一种是生成器函数。生成器的表达式通过Python表达式语句计算一系列数据。但是,当定义生成器时,不会生成数据,而是返回一个对象。这个对象只在需要的时候根据表达式计算当前要返回的数据。生成器是一个特殊的函数,它在语句中包含yield关键字。它是一个迭代器。需要访问迭代器数据的代码通过调用next函数(或迭代器的__next__方法)或send方法,外部触发函数执行计算,并通过yield返回一个计算结果数据。数据返回后,函数立即停止执行,函数状态会保存在局部变量中,直到下一次外部调用被激活,执行从上一次开始停止。有关发电机的具体知识,请参考[《神秘而强大的Python生成器精讲》](https://www.cnblogs.com/laoyunpython/p/11087730.html)。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。