九.Python_装饰器

Python_装饰器

import time #导入时间模块

#18.装饰器  函数
#作用:不修改目标函数,给目标函数附加不具有的功能
    #原则
    #不改变目标函数源代码
    #不改变目标函数的调用方式

#装饰器=高阶函数+函数嵌套+闭包

    #获取函数运行时间的装饰器函数
        # def timer(func):#获取函数
        #     def wrapper(*args,**kwargs):  #获取不定向方法参数
        #         start_time=time.time()#获取开始时间
        #         res=func(*args,**kwargs)    #执行函数
        #         stop_time=time.time()#获取结束时间
        #         print("函数运行时间为:%s"%(stop_time-start_time))#输出花耗时间
        #         return res#输出返回值
        #     return wrapper#将装饰器函数作为返回值返回给目标函数

    #循环函数并且在函数前后打印的装饰器
        # def sn(max):#接收@sn的参数
        #     def sn(fun):#接收函数
        #         def wraper(*args,**kwargs):#接收函数不定向参数
        #             res=0
        #             for i in range(max):#循环函数
        #                 print("First.....")
        #                 res+=fun(*args,**kwargs)
        #                 print("End.......")
        #             return res  #返回res接收的函数
        #         return wraper  #返回wraper函数
        #     return sn #返回_sn函数

    #测试函数
        # @sn(2)#循环两次cale函数
        # @timer#调用装饰器函数
        # def cale(l):
        #     res=0
        #     for i in l:
        #         time.sleep(0.1)
        #         res+=i
        #     return res
        #
        # print(cale(range(20)))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值