一、生成器
1、什么是生成器?
可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象;
2、生成器在python中的表现形式?
- 生成器函数:常规函数定义,但是使用yield语句而不是使用retum语句返回结果,yield语句一次返回一个结果,在每个结果中间挂机函数的状态,以便下次从他离开的地方执行;
- 生成器表达式:类似于列表推导,但是生成器返回按需要产生结果的一个对象,而不是一次构建一个列表
#生成器函数(只要函数内部包含有yield关键字,那么函数名()的到的结果就是生成器,并且不会执行函数内部代码) cp = [1,2,3,4,5] def test(): yield 1 yield 2 yield 3 date = test() print(next(date)) print(next(date)) print(next(date))