再生一代

2024-04-18 06:36:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我会这样做:

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?你知道吗


Tags: 代码infordefrangewalksamplesyield
2条回答

Python 3.3及更高版本:

def walk200():
    yield from walk(200)

对于较低版本,您会被贴出的代码卡住。你知道吗

在您的特定示例中,您只需return walk(200),这将适用于所有python版本。yield from仅在某些情况下是必需的。你知道吗

相关问题 更多 >