迭代器和生成器的区别

迭代器和生成器的区别

如果说迭代器是以类为基础的单位产生器,那么生成器(generator)就是以函数为基础的单位产生器。也就是说,迭代器和生成器都是一个值一个值得生产,每迭代一次,只能得到一个值,

所不同的是,迭代器需要在类中定义__iter__和__next__方法,在使用时需要创建迭代器的实例。而生成器是通过一个函数展现的,可以直接调用,

所以从某种意义上来说,生成器在使用上更简洁。

 

posted @ 2019-02-16 12:55  effortsing  阅读(1378)  评论(0编辑  收藏  举报