14
2020
03

请说说生成器和迭代器之间的区别

1)在使用生成器时,我们创建一个函数;在使用迭代器时,我们使用内置函数iter()和next();


2)在生成器中,我们使用关键字‘yield’来每次生成/返回一个对象;


3)生成器中有多少‘yield’语句,你可以自定义;


4)每次‘yield’暂停循环时,生成器会保存本地变量的状态。而迭代器并不会使用局部变量,它只需要一个可迭代对象进行迭代;


5)使用类可以实现你自己的迭代器,但无法实现生成器;


6)生成器运行速度快,语法简洁,更简单;


7)迭代器更能节约内存。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。