生成器

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()
原文地址:https://www.cnblogs.com/pp8080/p/12251565.html