【发布时间】:2018-06-22 09:18:08
【问题描述】:
假设我有这个代码:
def f(data, all_at_once):
if all_at_once:
return data
else:
yield from data
f([1,2,3], True)
f 总是返回一个生成器,不管all_at_once 的值如何。如何获得有条件返回生成器的函数?
【问题讨论】:
-
将
yield from data更改为return iter(data)。 -
yield作为构造的存在将函数变成了各种生成器。 -
谢谢。最终我想从没有
iter方法的 Queue 对象中产生对象。