从yield说起
当生成器执行到yield的时候,通过send方法向生成器传递一个值,生成器在收到传进来的值之后,会将其视为yield表达式的结果。之后,生成器执行到下一个yield处,返回yield后面的那个值给外界。
代码一:
def my_coroutine():
while True:
received = yield
print('Received:', received)
if __name__ == '__main__':
it = my_coroutine()
next(it)
it.send('first')
it.send('second')