理解Python中的yield
函数中带yield关键字
- 先新建文件demo1.py 编写以下代码
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 i in yield_test(5):
print(i,",")
然后运行该文件,结果如下:
原因:
yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。