生成器的本质---迭代器
生成器的产生有两种方式:生成器函数和生成器表达式。
只要含有yield关键字的函数都是生成器函数,yield只能用在函数里,且yield和return不能共用。
生成器函数
#生成器函数:执行之后会得到一个生成器作为返回值
最简单的生成器:步骤1->4(generator)->4(ret)->5->6->2->3
1.def generator():
2. print(1)
3. yield
4.ret=generator()
5.print(ret)
6.print(ret.__next__())
yield:作为代码并不会结束一个函数

结果为


结果为

因为生成器也是一种迭代器,所以可以进行for循环遍历。

在下面一个例子中,我们产生的这个生成器是可以打印123的,但是会报错。

浙公网安备 33010602011771号