美文网首页
Python中的装饰器——简单应用

Python中的装饰器——简单应用

作者: 始于尘埃 | 来源:发表于2018-11-13 20:52 被阅读0次

    #!/usr/bin/env python

    #-*- coding:utf-8 -*-

    #实现生产和吃包子

    #具体功能用函数实现

    # import time

    # def producer():

    #    ret = []

    #    for i in range(10):

    #        time.sleep(1)

    #        ret.append('包子%s'%i)

    #    return ret

    # def consumer(res):

    #    for index,baozi in enumerate(res):#返回索引和类容

    #        time.sleep(1)

    #        print('第%s个人,吃了%s'%(index,baozi))

    # res = producer()

    # consumer(res)

    #上述过程太慢,两则有先后顺序(顺序执行)-应该并发运行

    #如何实现并发运行?(同时运行两个程序)-运行一个(跳到另一个程序),执行一个

    #生成器实现并发操作

    import time

    def consumer(name):

        print("我是【%s】,我准备吃包子"%name)

        while True:

            baozi= yield#吃包子

            time.sleep(1)

            print("%s吃了 【%s】"%(name,baozi))

    #封装下列功能

    # c1 = consumer('rice')

    # c1.__next__()

    # c1.send("肉包")

    def producer():

        c1= consumer('rice')#吃的人也可以封装,不运行

        c1.__next__()#开始运行

        for iin range(10):

            time.sleep(1)#生产包子所需要的时间

            c1.send("肉包%s"%i)

    producer()

    ##两个程序同时进行,一个程序触发另一个程序(并发)-实则在一个程序中模拟并发的效果(单线程-协程)

    如果你对Python感兴趣,可以私信我,送学习资料哦!

    相关文章

      网友评论

          本文标题:Python中的装饰器——简单应用

          本文链接:https://www.haomeiwen.com/subject/adhrfqtx.html