生成器
Python生成器是一种特殊的函数,它可以在需要时生成一系列值,而不是一次性生成所有值。生成器使用yield关键字来暂停函数的执行,并返回一个值。当函数再次被调用时,它将从yield语句停止的地方继续执行。所以生成器非常适合处理大量数据或无限序列。
- 生成器的两种用途:
- 一是调用它创建一个生成器对象,也就是生成器迭代器,然后用迭代器驱动生成器函数分部运行,产生你想要的数据;
- 二是当协程函数用,控制程序流。
- 生成器的作用:
如果想具体化数据的形式,通常会将数据存储在一个列表中。但这样做,列表的内容将占用有形内存。列表越大,占用的内存资源就越多。
但是,如果数据集有某种逻辑,就不必存储在一个列表中,只需编写一个生成器,它将在需要时生成这些值,基本不占用内存。
- 生成器存储:
是一种规则或者说方法,普通集合存储的是数据,数据量大的话,内存消耗大,但是规则几乎不占内存。
yield
与return的区别:
return
函数直接返回所有结果,