为什么我必须使用变量从Python生成器中获取next()值?为什么我必须使用变量来从Python生成器中获取值?
def my_gen():
i = 0
while i < 4:
yield 2 * i
i += 1
#p = my_gen()
#for i in range(4):
# print(next(p))
##for i in range(4):
## print(next(my_gen()))
在上面#号工作,而##块返回4个副本的第一个“收益”。
'my_gen()'创建一个新的生成器。也就是说,'next(p)'不等于重复调用'my_gen()'。 – miradulo
你可以使用生成器:'print(* my_gen())' '0 2 4 6'' – f5r5e5d