python中yield 與 return 區別

2022-09-19 12:57:12 字數 572 閱讀 1458

yield 是暫停的意思(它有程式中起著類似紅綠燈中等紅燈的作用);yield是建立迭代器,可以用for來遍歷,有點事件觸發的意思

return  在方法中直接返回值;是函式返回值,當執行到return,後續的邏輯**不在執行

相同點: 都是定義函式過程中返回值

不同點:

def h():

print('feng')

# yield 9

return 9

print('yes')

c = h()

結果:

def h():

print('feng')

yield 5

# return 5

print('tes')

c = h()

結果:

**:

feng

Python中的生成器與yield

在python中使用了yield關鍵字的函式稱之為生成器。當我們呼叫該函式時並不會執行函式 而是返回乙個生成器物件。在呼叫生成器執行的過程中,每次遇到yield函式就會暫停並儲存當前的資訊,返回yield值,並在下次執行next 時,從此處開始繼續執行。from collections.abc im...

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...