關於Python中的yield

2、生成器(constructor)python

生成器函數在Python中與迭代器協議的概念聯繫在一塊兒。簡而言之,包含yield語句的函數會被特意編譯成生成器。當函數被調用時,他們返回一個生成器對象,這個對象支持迭代器接口。函數也許會有個return語句,但它的做用是用來yield產生值的。函數

不像通常的函數會生成值後退出,生成器函數在生成值後會自動掛起並暫停他們的執行和狀態,他的本地變量將保存狀態信息,這些信息在函數恢復時將再度有效spa

def g(n):
 
for i inrange(n):
     yield i **2

for i in g(5):
print i,":",

0 : 1 : 4 : 9 : 16 :
相關文章
相關標籤/搜索