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 語句中指定的值,然後暫停函數的執行,直到下一次調用迭代器時才會繼續執行函數。