热线电话:13121318867

登录
2020-06-30 阅读量: 1034
​生成器

生成器
以前通过列表生成式创建元素,但是如果元素太多会占用内存,如果程序中只需要几个元素,则后面的
一大堆元素占用的内存空间就浪费了。
生成器:能够按照解析表达式逐次产生出数据集合中数据项元素的函数。也就是不必创建完成的数据集
合,从而节省存储空间。
生成器和普通函数的差别
1. 生成器函数体内用yield关键词生成数据项,而不是用print输出数据项。当循环遍历,采用next()
获取yield生成的数据项,
2. 普通函数顺序执行, 生成器函数每次调用next()方法时才执行,遇到yield语句返回,再次调用时
不是从头开始,而是从上次返回的yield语句继续执行。
def foo(): for i in range(1,8): print('第',i,'步') yield i*2 相当于返回 2 4 6 8 10 12 14 gen = foo()
print(gen.next()) #2 print(gen.next()) #4

19.1817
1
关注作者
收藏
评论(0)

发表评论

暂无数据