在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後,函數名加()得到一個生成器。