temp = yield i 这句话的意思?
def test(): i = 0 while i < 5: temp = yield i # print(temp) i+=1 t = test() print(t.__next__()) print(t.__next__()) print(t.__next__()) print(t.send('LW'))
此时控制台打印:
0
1
2
3
-------------------------------------------
放开print 控制台打印
0
None
1
None
2
LW
3
说明了temp = yield i 这句话并不是将右边的值赋给temp
temp 是接受程序下次从这里开始执行时生成器通过send函数发过来的值。
但是调用send方法前必须先启动生成器才行哦, 不然会崩溃, 调用next()或者 send(None) 来启动生成器。
此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935.
我的gitHub: (学习代码都在gitHub)
https://github.com/nwgdegitHub/