Python 生成器是 Python 中非常強大的概念。它可以在需要的時候產生元素,而無需在內存中保存所有的值。換句話說,生成器是一種更高效的迭代器。
生成器可以通過使用 yield 語句來創(chuàng)建。當遇到 yield 語句時,生成器會暫停執(zhí)行,并在需要時產生值。
下面是一個示例,演示如何使用 Python 生成器:
def countdown(n): while n >0: yield n n -= 1 for i in countdown(5): print(i)
在這個示例中,countdown 函數(shù)是一個生成器。它使用 while 循環(huán)來產生元素。當 yield 語句被執(zhí)行時,該函數(shù)會暫停執(zhí)行,并返回當前的值。生成器可以被 for 循環(huán)使用來遍歷所有的值。
生成器的一個重要特性是它們可以被無限延長。下面是一個示例,演示如何使用 Python 生成器來生成斐波那契數(shù)列:
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b for i in fibonacci(): if i >100: break print(i)
在這個示例中,fibonacci 函數(shù)是一個生成器,該函數(shù)會生成斐波那契數(shù)列中的每個元素。生成器使用 while True 循環(huán),在需要時產生值。在 for 循環(huán)中,生成器可以一直迭代下去,直到達到某個條件。
Python 生成器是 Python 編程中的一個重要概念,它可以在需要的時候產生元素,并在不需要時節(jié)省內存空間。生成器是 Python 編程中更高效的迭代器,非常值得熟練掌握。
上一篇python 生成大文件
下一篇c 支持json嗎