Python 中生成器与迭代器的区别是什么?

发布于 2022-09-21 08:52:55
关注者
0
被浏览
15
3 个回答
  • 匿名网友
    匿名网友 2022-09-21
    先说答案,生成器是一种特殊的迭代器。 迭代器的类中需要保证有两个方法,\_\_iter\_\_和\_\_next\_\_方法,其中iter方法要返回类的实例,next返回下一个结果,当循环结束之后,会触发一个stopxxxx(具体忘了)的异常。这样的类的实例对象就是迭代器对象。而生成器是在定义函数的时候,使用了yield关键字,python内部会自动调用genrator方法(具体单词不记得了,好像是这么写),调用这个方法以后,会自动声明两个方法iter哥next,这两个方法和迭代器的一样,所以说生成器满足了迭代器的所有要求,所以生成器上一种特殊的迭代器,不同的是,生成器会节约内存。纯手打,好累。。。
  • 匿名网友
    匿名网友 2022-09-21
    迭代器可以记录当前的位置,迭代器对象要有两个方法,\_\_next\_\_和\_\_iter\_\_方法 生成器属于特殊的迭代器 字数太多了懒得打,百度去吧……
  • 匿名网友
    匿名网友 2022-09-21
    生成器可以理解成是自定义的迭代器
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看