1.什么是生成器
生成器就是迭代器, 但是迭代器不一定是生成器
1)怎么创建生成器
如果函数中有yield关键字,那么这个函数就不再是一个普通的函数。
调用函数不再是执行函数体,获取返回值。而是创建这个函数对应的生成器对象
创建生成器
方式一: 将列表生成式的中括号改成小括号
列表生成式 a = [x*2 for x in range(100000000000)]
生成器 a = (x*2 for x in range(100000000000))
调用的时候 next(a)
方式二:
def creatnum():
...: a,b = 0,1
...: for i in range(5):
...: yield b
...: a,b = b,a+b
creatnum()