158****6283

2020-06-30   阅读量: 716

​生成器

扫码加入数据分析学习群

生成器
以前通过列表生成式创建元素,但是如果元素太多会占用内存,如果程序中只需要几个元素,则后面的
一大堆元素占用的内存空间就浪费了。
生成器:能够按照解析表达式逐次产生出数据集合中数据项元素的函数。也就是不必创建完成的数据集
合,从而节省存储空间。
生成器和普通函数的差别
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 1 关注作者 收藏

评论(0)


暂无数据

推荐课程