天天看點

yield的了解 - Python

​yield​

​關鍵字除了有return的意思, 還有暫存的意思. 運作到yield時, 會傳回目前的值, 然後儲存現在的記錄. 當再次運作該函數式, 繼續上次yield結束的位置開始運作.

了解不深, 僅供參考

執行個體一

def foo(num):
    print("starting...")
    while num < 10:
        num = num + 1
        yield num


# debug看運作順序 即可
for n in foo(0):
    print(n)      

執行個體二

def gen(n):
    for i in range(n):
        yield i ** 2


for i in gen(5):
    print(i, " ", end="")      

繼續閱讀