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的下一跳语句开始执行。
