python3中函數裏的return和yield共存時的細節

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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章