Python——記關鍵字yield的使用

yield是Python中和生成器密切相關的一個關鍵字
那麼什麼是生成器呢:

  • 生成器是一個不斷產生值的函數
  • 包含yield語句的函數是一個生成器
  • 生成器每次產生一個值(yeild語句),函數就會被凍結,直到被喚醒後再產生一個值。

生成器寫法:

def gen(n):
    for i in range(n):
        yield i**2

for i in gen(1000000):
    print(i)

普通寫法:

def square(n):
    ls = [i**2 for i in range(n)]
    return ls

for i in square(1000000):
    print(i)

使用生成器的優勢:

  • 節省存儲空間:生成器在每次調用的時候只產生一個值,所以只需要一個元素的存儲空間;而普通寫法則是產生一個列表,需要佔用大量的存儲空間
  • 響應更加迅速
  • 使用更靈活
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章