Python基礎篇——yield關鍵字的使用
阿新 • • 發佈:2018-12-13
複習一下yield的使用
簡介
帶有yield的函式在Python中被稱之為generator(生成器),而生成器的機制就是在迴圈過程中邊迴圈邊計算,減少記憶體限制
練習
楊輝三角定義如下:
1
/ \
1 1
/ \ / \
1 2 1
/ \ / \ / \
1 3 3 1
/ \ / \ / \ / \
1 4 6 4 1
/ \ / \ / \ / \ / \
1 5 10 10 5 1
演算法程式碼:
n = 0 L = [1] while True: yield L L = [ L[i] + L[i+1] for i in n ] L.insert(0, 1) L.append(1) n = n + 1
關鍵點:
- 普通函式是順序執行,遇到
return
或最後一行函式就返回 - generator遇到
yield
語句返回,再次執行時從上次返回的yield
語句繼續執行 - 而一般情況下,運用在
for
迴圈中,因為generator也是可迭代物件