Python 中的 yield() 函數

Python 中的 yield() 函數是一個非常有用的函數,它可以讓你在函數中創建一個可以返回多個值的迭代器。它可以讓你在函數中創建一個可以返回多個值的迭代器,而不需要使用 return 語句。

yield() 函數的基本語法如下:

def function_name(parameters):
    yield value

yield() 函數的工作原理是,當函數被調用時,它會返回一個迭代器,而不是一個單一的值。每次調用迭代器時,它會返回 yield 語句中指定的值,然後暫停函數的執行,直到下一次調用迭代器時才會繼續執行函數。

舉個例子來說明,假設我們有一個函數,它可以返回一個數字列表中的所有偶數:

def get_even_numbers(numbers):
    for number in numbers:
        if number % 2 == 0:
            yield number

在這個函數中,我們使用 yield 語句來返回列表中的偶數。每次調用迭代器時,它會返回一個偶數,然後暫停函數的執行,直到下一次調用迭代器時才會繼續執行函數。

我們可以使用以下代碼來測試這個函數:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

even_numbers = get_even_numbers(numbers)

for number in even_numbers:
    print(number)

這段代碼的輸出結果如下:

2
4
6
8
10

可以看到,我們的函數正確地返回了列表中的所有偶數。

總結

Python 中的 yield() 函數是一個非常有用的函數,它可以讓你在函數中創建一個可以返回多個值的迭代器,而不需要使用 return 語句。它的工作原理是,當函數被調用時,它會返回一個迭代器,而不是一個單一的值。每次調用迭代器時,它會返回 yield 語句中指定的值,然後暫停函數的執行,直到下一次調用迭代器時才會繼續執行函數。

Categorized in:

Tagged in: