更新時間:2023-04-04 來源:黑馬程序員 瀏覽量:
當(dāng)我們定義了一個生成器函數(shù)時,它會返回一個迭代器對象,可以通過調(diào)用next()方法逐個地獲取該生成器函數(shù)中生成的值。下面是一個簡單的例子來說明next()方法的使用:
def my_generator(): yield 1 yield 2 yield 3 # 創(chuàng)建一個迭代器對象 gen = my_generator() # 調(diào)用 next() 方法逐個獲取生成器函數(shù)中生成的值 print(next(gen)) # 輸出 1 print(next(gen)) # 輸出 2 print(next(gen)) # 輸出 3 # 如果繼續(xù)調(diào)用 next() 方法,將會拋出 StopIteration 異常,表示已經(jīng)沒有更多的值可以迭代了 print(next(gen)) # 拋出 StopIteration 異常
在這個例子中,my_generator()是一個生成器函數(shù),它使用yield關(guān)鍵字生成了三個值。然后,我們使用my_generator()函數(shù)創(chuàng)建了一個迭代器對象gen,并通過調(diào)用next()方法獲取了這個生成器函數(shù)中生成的每個值。注意,當(dāng)沒有更多的值可迭代時,再次調(diào)用next()方法將會拋出StopIteration異常。