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 語句來返回列表中的偶數。每次調用迭代器時,它會返回一個偶數,然後暫停函數的執行,直到下一次調用迭代器時才會繼續執行函數。

我們可以使用 for 語句來調用這個函數:

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

for even_number in get_even_numbers(numbers):
    print(even_number)

輸出結果:

2
4
6
8
10

可以看到,我們使用 yield 語句來創建一個可以返回多個值的迭代器,而不需要使用 return 語句。

總結來說,yield() 函數是一個非常有用的函數,它可以讓你在函數中創建一個可以返回多個值的迭代器,而不需要使用 return 語句。它可以讓你更有效地創建可重複使用的函數,並減少程序的程式碼量。

Categorized in:

Tagged in: