【发布时间】:2019-04-04 03:08:10
【问题描述】:
下面有一个代码sn-p:
def yield_5():
for i in range(5):
yield i
def foo(use_yield):
if use_yield:
for i in yield_5():
yield i
else:
return list(yield_5())
当我执行list(foo(True)) 时,我得到:[0, 1, 2, 3, 4] 符合预期
但是当我这样做时:foo(False) 我得到:[]
为什么会这样?
【问题讨论】:
标签: python python-3.x generator yield