TypeError: can't send non-None value to a just-started generator-python报错问题

   日期:2020-05-04     浏览:113    评论:0    
核心提示:TypeError: can’t send non-None value to a just-stapython

TypeError: can’t send non-None value to a just-started generator
翻译过来是:
TypeError:无法将非None值发送到刚启动的生成器
原因如下:
在一个生成器函数未启动之前,是不能传递数值进去。必须先传递一个None进去或者调用一次next(g)方法,才能进行传值操作。
例如:
代码:




def generator_two():
    while True:
        x = yield
        print("value:", x)
#g为上面的生成器
g = generator_two()
#程序运行到yield就暂停,等待下一个next

#给yield传送值1,yield再将1传给x,继续下一次循环,停在yeild处
g.send(1)
#给yeild传送值2,yield再将2传给x,继续下一次循环,停在yeild处
g.send(2)
#没有给yield传值,打印输出None,继续停在yield处,等待下一个next
next(g)

print(next(g))

报错情况:

当我们加上next(g)的时候,自然也就运行出来了
代码:




def generator_two():
    while True:
        x = yield
        print("value:", x)
#g为上面的生成器
g = generator_two()
#程序运行到yield就暂停,等待下一个next
next(g)
#给yield传送值1,yield再将1传给x,继续下一次循环,停在yeild处
g.send(1)
#给yeild传送值2,yield再将2传给x,继续下一次循环,停在yeild处
g.send(2)
#没有给yield传值,打印输出None,继续停在yield处,等待下一个next
next(g)

print(next(g))

运行结果:

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服