python yield
帶有yield的函數的返回值g就是generator,generator保存的是算法,每次調用next(g),就計算出g的下一個元素的值,直到計算到最后一個元素,沒有更多的元素時,拋出StopIteration的錯誤。
當然,上面這種不斷調用next(g)實在是太變態了,正確的方法是使用for循環,因為generator也是可迭代對象:
例子
def count_up_to(max): count = 1 while count <= max: yield count count += 1 for count in count_up_to(3): print(count)
輸出
1 2 3

浙公網安備 33010602011771號