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 語句。它可以讓你更有效地創建可重複使用的函數,並減少程序的程式碼量。