该错误翻译成中文即是:无法将非None值发送到刚刚启动的生成器
def foo():
while True:
x = yield
print("value:",x)g = foo()
g.send(1) #执行给yield传值,这样行不行呢?
肯定不行,如上执行便会报如下错误:
TypeError: can't send non-None value to a just-started generator
错误提示:不能传递一个非空值给一个未启动的生成器。
也就是说,在一个生成器函数未启动之前,是不能传递数值进去。必须先传递一个None进去或者调用一次next(g)方法,才能进行传值操作。