Python 產生器
-
產生器generator是一種Python序列建立物件
-
可以迭代很大的序列,而不需要在記憶體中一次建立或儲存整個序列
-
ex:
range()
-
每次迭代產生器時,都會記得上一次被呼叫時的所在的位置,並回傳下一個值
-
一般函式不會記得之前的呼叫,且永遠會從他的第一行,以相同的狀態開始
-
若想建立一個可能會很大的序列,且程式很大,無法使用產生器生成式,可以編寫產生器函式,他是一種一般的函式,但會用
yield
陳述式來回傳值,而不是return
1 | def my_range(first=0, last=10, step=1): |