注册 登录
编程论坛 Python论坛

5行代码的生成器问题

hawthorn 发布于 2019-03-15 15:22, 1288 次点击
def f():
    print("o")   
    yield 1
    print("k")
    yield 2
g = f()

print(next(f()))
print(next(f()))
#不管运行多少个next()都会输出‘o’,返回1
**********************************
print(next(g))
print(next(g))
#能够正常实现生成器功能

就赋了个变量,为什么打印next(f())这个无法实现生成器效果?请大家指点指点!!
2 回复
#2
szchina2019-03-22 16:27
#3
TysonKoothra2019-03-23 17:12
因为print(next(f()))每次都重启一个新的生成器。
1