在python3中,生成器的创建方式有两种:利用列表生成式和函数中添加yield。
在这需要注意的是,当采集函数创建生成器时,如果函数中含有return,则不会通过return得到任凭结果,return中止当前生成器,如果执行next()会报错。
def f1():
for i in range(10):
print(i)
i +=1
yield i
return i
f = f1()
next(f)
next(f)
next(f)
next(f)
函数有了yield后,函数名加()得到一个生成器。