我会这样做:
def walk(samples):
for d in range(samples):
yield d
def walk200():
for d in walk(200):
yield d
但实际上我想要的是这样做,以缩短代码:
def walk200():
reyield walk(200)
我如何reyield
?
答案 0 :(得分:4)
Python 3.3及更高版本:
def walk200():
yield from walk(200)
对于较低版本,您会遇到所发布的代码。
答案 1 :(得分:2)
在您的具体示例中,您可以简单地return walk(200)
,这将适用于所有python版本。只有在某些情况下才需要yield from
。