生成器函式

2021-10-11 01:29:24 字數 776 閱讀 9173

生成器函式:

生成器函式使用yield返回返回值。函式並沒有結束,還可以繼續執行,生成器一次返回乙個(組)資料。

gen = func1()

生成器物件

迴圈生成器物件時,一次獲取乙個值

for i in gen:

print(i)

將生成器物件強制型別轉換為列表

print(list(gen))

print(next(gen)) # 「h」

print(「123456」)

print(next(gen)) # 「e」

print(「abcdef」)

for i in gen:

print(i,end=" ") # 「l」 「l」 「o」

元組生成器

gen1 = ( 2 ** i for i in range(1,65) )

print(gen1)

print(list(gen1))

生成器的使用場景

產生或處理大量資料,使用生成器乙個乙個的處理(生成),用於節省記憶體空間。

range(100) 產生某個範圍內的整數。

斐波那契序列 (兔子序列)

def feibo(n):

a,b,s = 0,1,1

while s < n:

s += 1

yield a # 返回資料不會結束函式

a,b = b,a+b

for i in feibo(10000):

print(i)

input()

python生成器函式 Python 生成器函式

一 生成器 生成器指的是生成器物件,可由生成器表示式得到,也可使用 yield 關鍵字得到乙個生成器函式,呼叫這個函式得到乙個生成器物件 生成器物件,是乙個可迭代物件,是乙個迭代器 生成器物件,是延遲計算 惰性求值的 1.1 生成器函式 函式體重包含 yield 語句的函式,就是生成器函式,呼叫後返...

生成器函式

pyhon優雅的魔力使生成器函式很特殊,它們像定格相機一樣工作。當乙個標準函式遇到return語句時,它會返回值,然後函式會丟棄內部的所有資料。當下次呼叫時,一切從頭開始。yield語句會做不同的事情。它像return一樣返回乙個值,但是它不會使函式丟棄資料,相反所有資料都被儲存起來。usr bin...

生成器函式

什麼是生成器 生成器是能夠動態提供資料的物件,生成器物件也是可迭代物件 例項 生成器有兩種 生成器函式 生成器表示式 生成器函式的呼叫將返回乙個生成器的物件,生成器物件是乙個可迭代物件 defmyyield 此函式為生成器函式 yield 2yield 3yield 5yield 7 此時生成乙個生...