用yield完成的协程函数,实现函数之间的切换

用yield实现两个函数之间的切换

import time


def pro():
    print(1)
    n = yield 'a'   # 把值给next,并接收send的值给n
    time.sleep(1)
    print(n)
    yield 'b'


def com():
    g = pro()   # 此时生成器不执行
    value1 = next(g)  # 开始执行生成器函数pro() 并取生成器的第一个yield的值(a)把值给value2
    print(value1)
    value2 = g.send(2)  # 取第二个yield的值并把2发送给第一个yield
    print(value2)


com()

 

posted @ 2019-01-29 16:08  平平无奇小辣鸡  阅读(207)  评论(0)    收藏  举报