美文网首页
python generators

python generators

作者: weitong_z | 来源:发表于2017-06-12 12:58 被阅读0次

前几天在用jieba分词时,发现cut方法返回的是一个生成器。这里记录一下学习笔记。

简单来说,使用yield关键字的就是生成器(也有可能是协成)。如果懂spark rdd的话,生成器就更好理解

使用yield定义一个函数,当调用时仅返回一个生成器,函数内部的代码并不执行,而是在迭代时执行代码。RDD的惰性计算原理类似,转换操作并不会计算数据,只有遇到action操作才会真正的计算数据。

二者这样做的好处就是省内存。

回到生成器。

迭代过程中,第一次执行,逐行执行到yield关键字,然后返回yield值。第二次迭代返回yeild之后的内容。

具体可以看看费波纳茨数列的实现。非常简单。

相关文章

网友评论

      本文标题:python generators

      本文链接:https://www.haomeiwen.com/subject/tkzbnttx.html