本节主要内容:
1. 生成器和生成器函数
2. 列表推导式
一. 生成器
什么是生成器. 生成器实质就是迭代器.
在python中有三种方式来获取生成器:
1. 通过生成器函数
2. 通过各种推导式来实现生成器
3. 通过数据的转换也可以获取生成器
首先, 我们先看一个很简单的函数:
把函数中的return换成yield就是生成器函数
运行的结果和上面不一样. 为什么呢. 由于函数中存在了yield. 那么这个函数就是一个生成器函数. 这个时候. 我们再执行这个函数的时候. 就不再是函数的执行了. 而是获取这个生成器. 如何使用呢? 想想迭代器. 生成器的本质是迭代器. 所以. 我们可以直接执⾏__next__()来执行
以下生成器.
那么我们可以看到, yield和return的效果是一样的. 有什么区别呢? yield是分段来执行一个函数. return呢? 直接停止执行函数.