小编Ice*_*ube的帖子

为什么生成器在循环后产生值

我一直在学习发送方法和产量分配如何在生成器中工作并遇到一个问题:

def gen():
    for i in range(5):
        x = yield i
        print(x)
s = gen()
print(next(s))
print(s.send(15))
Run Code Online (Sandbox Code Playgroud)

输出:

0 #after print(next(s))
15
1
Run Code Online (Sandbox Code Playgroud)

所以它会在 后打印 15 和 1 print(s.send(15))。它打破了我对yield的理解,因为我不明白为什么它在打印x后会产生1。我想知道是否有人知道答案。

python generator

1
推荐指数
1
解决办法
115
查看次数

标签 统计

generator ×1

python ×1