首頁常見問題正文

Python3中g(shù)enerator的next方法怎么用?

更新時間:2023-04-04 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  當(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異常。

分享到:
在線咨詢 我要報名
和我們在線交談!