yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator
简单示例:
#encoding:UTF-8
def yield_test(n):
for i in range(n):
yield call(i)
print("i=",i)
#做一些其它的事情
print("do something.")
print("end.")
def call(i):
return i*2
#使用for循环
for i in yield_test(5):
print(i,",")
运行结果:
>>>
0 ,
i= 0
2 ,
i= 1
4 ,
i= 2
6 ,
i= 3
8 ,
i= 4
do something.
end.
>>>
从运行结果可以看到,下次迭代时代码从yield的下一跳语句开始执行。
本文详细介绍了Python中生成器的概念以及yield关键字的作用。通过一个简单示例,展示了如何使用yield将普通函数转化为生成器函数,并阐述了生成器执行流程的特点。
7292

被折叠的 条评论
为什么被折叠?



