我知道您可以使用.send(value)
將值發送給生成器。我也知道你可以在for循環中遍歷一個生成器。在for循環中迭代它時,是否可以將值傳遞給生成器?如何將值傳遞給for循環中的生成器?
我試圖做的是
def example():
previous = yield
for i range(0,10):
previous = yield previous*i
t = example()
for value in example"...pass in a value?...":
"...do something with the result..."
你有沒有試過(tldr不要在同一個函數混合發電機和協同程序)是什麼結果是......你不能在'for'語句中發送一個值。但是你可以使用'while'。 – AChampion
如果我使用while循環,我需要捕獲一個'StopIteration',它增加了很多樣板。 – mklauber
你覺得嵌套的生成器是更易於理解的代碼? – AChampion