溫馨提示×

python的def命令如何定義生成器函數

小樊
102
2024-12-12 00:47:37
欄目: 編程語言

在Python中,要定義一個生成器函數,您需要在函數內部使用yield關鍵字而不是return。當調用一個包含yield關鍵字的函數時,它不會立即執行,而是返回一個生成器對象。每次從這個生成器對象請求一個值時,函數會從上次暫停的地方繼續執行,直到遇到下一個yield關鍵字,然后返回yield后面的值。

以下是一個簡單的生成器函數示例,用于生成前n個斐波那契數列:

def fibonacci(n):
    a, b = 0, 1
    count = 0
    while count < n:
        yield a
        a, b = b, a + b
        count += 1

# 使用生成器函數
fib_gen = fibonacci(5)
for num in fib_gen:
    print(num)

在這個例子中,fibonacci函數是一個生成器函數,因為它使用了yield關鍵字。當我們調用fibonacci(5)時,它返回一個生成器對象fib_gen。然后我們使用for循環遍歷這個生成器對象,每次迭代都會執行fibonacci函數的一部分,直到遇到yield關鍵字,然后返回yield后面的值。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女