一、什么是生成器
函数中包含yield,这样的函数叫做生成器
普通函数和包含yield函数(生成器)的区别:
生成器返回迭代器的函数,生成器就是迭代器
执行规则:
生成器运行时,每次遇到yield时函数会暂停并保存当前所有运行信息,
返回yeild值,并在下一次迭代(next())的时候从当前位置继续执行

 

 

二、什么是迭代器?
迭代器访问结合元素的一种方式,迭代器只能往前不能往后退
字符串、列表、元组都是可以创造成迭代器
[1,2,3,4,5]
迭代器有两个基本的方法:iter() next()