什么是Python Generator(生成器)?
Python Generator(生成器)用于在内存资源有限的情况下,把处理大数据的任务,分解为一段一段可以管理和处理的数据块(chunk),建立起数据流(data pipeline),从而一步一步的解决完大数据任务的技术。例如,假设有500G的数据待处理,内存只有32G,我们可以把数据分为200M的数据块,然后借助Python Generator技术,实现一边加载数据一边进行数据处理的效果。
生成器关键字yield 与 函数返回语句return的区别:
return语句终止函数运行并返回return语句后面的变量值;return语句后面的语句不执行。

yield关键字,与next()语句配套使用,它仅仅告知Python解释器,在我这里暂停而不是终止,并返回yield关键字后面变量的值。当执行next()语句后,函数会继续执行,并再次遇到yield关键字是暂停。

生成器与迭代器配置使用时,要注意停止条件:

Python生成器可以由以下两种方式创建:
- 生成器函数 generator function
def myfunc():
yield value
- 生成器递推式 generator comprehension
gc = (i**2 for i in range(100))
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END















暂无评论内容