29-python-生成器(send)

# send :
# send 获取下一个值的效果和 next 一样
# 再获取下一个值得时候,给上一个 yield 传递一个数据

#注意事项:
# 1.使用 send 的时候,必须要有一个__next__ 在 send 之前执行
# 2.最后一个 yield 不能接收外部的值
def fn():
    print('oo1')
    count = yield 1
    print(count)
    print('oo2')
    yield 2
    print('oo3')
    yield 3

q = fn()
ret = q.__next__()
print(ret)  # 打印结果:ool  1
ret = q.send('you')
print(ret)  # 打印结果:you  oo2  2

  



posted @ 2018-10-07 20:41  _Q  阅读(101)  评论(0)    收藏  举报