编写装饰器,实现初始化协程函数的功能

def init(func):    #初始化
    def wrapper(*args,**kwargs):
        g=func(*args,**kwargs)
        next(g)
        return g
    return wrapper
@init
def eater(name):
    print('%s 准备开始吃饭啦' %name)
    food_list=[]
    while True:
        food=yield food_list
        print('%s 吃了 %s' % (name,food))
        food_list.append(food)

g=eater('egon')
g.send('蒸羊羔')
posted @ 2018-01-02 21:33  xiongrongqin123  阅读(177)  评论(0编辑  收藏  举报