yield 3 相当于return控制的函数的返回值
x = yield 的另外一个特性,接受send传过来的值,并复制给x
def test():
print('开始啦')
yield 1
print('第一次')
yield 2
print('第二次')
t =test()
res = t.__next__() # __next__()
print(res)
print(next(t)) # next()
开始啦
1
第一次
2
send() 使用示例
def test():
print('开始啦')
first = yield # first = None
print('第一次',first)
yield 2
print('第二次')
t = test()
res = t.__next__()
print(res)
res = t.send('函数停留在first那个位置')
print(res)
开始啦None
第一次 函数停留在first那个位置
2
使用生成器模拟协成运行