参考文章:https://blog.csdn.net/mieleizhi0522/article/details/82142856/
yield可以简单的看成为一个return,可以和next()方法搭配起来使用,一次弹出一个值。下面的(res = yield 4)步骤并不会将4赋值给res变量,程序在这一步时是直接弹出数值4。要想在生成器里对变量进行赋值,可以采用send操作。参考代码如下:
def foo():
print("starting...")
while True:
res = yield 4
#print("res:",res)
g = foo()
print(next(g))
print("*"*20)
print(next(g))
#############22222222222###################
'''
def too():
print("nichousha")
def foo():
print("starting...")
while True:
res = yield 4
print("res:",res)
c=too()
g = foo()
print(next(g))
print("*"*20)
print(g.send(7))
'''