我是想了解Python生成和實現這一點:發電機的問題在Python
def yfun():
print("into y fun ... ")
for x in range(1,6):
print("tryin to yield : {}".format(x))
yield x
yieldVar = yfun()
for val in yieldVar:
print("value generated -> ", val)
輸出來自如下:
into y fun ...
tryin to yield : 1
value generated -> 1
tryin to yield : 2
value generated -> 2
tryin to yield : 3
value generated -> 3
tryin to yield : 4
value generated -> 4
tryin to yield : 5
value generated -> 5
能否請您介紹一下爲什麼功能再次被調用,然後再次 ?是不是變量應該有值和迭代應該在發電機變量上完成?
當您調用該函數時,它會爲您提供一個生成器對象。遍歷該對象執行產生值的'yfun'定義中的代碼。 – khelwood
看一看[docs](https://wiki.python.org/moin/Generators)。 – architrex
是什麼讓你覺得函數被一次又一次地調用?畢竟,「變得有趣」只打印一次。 –