python中迭代器和生成器的区别

1、共同点

  • 生成器是一种特殊的迭代器

2、不同点

a、语法上

  • 生成器是通过函数的形式中调用 yield 或()的形式创建的
  • 迭代器可以通过 iter() 内置函数创建

b、用法上

  • 生成器在调用next()函数或for循环中,所有过程被执行,且返回值
  • 迭代器在调用next()函数或for循环中,所有值被返回,没有其他过程或说动作。
posted @ 2019-03-19 21:04  滴水汪洋  阅读(6115)  评论(0编辑  收藏  举报