首页 > 其他 > 详细

2装饰器

时间:2020-07-05 13:50:53      阅读:36      评论:0      收藏:0      [点我收藏+]

装饰器是给代码升级功能

#最简单的装饰器;有返回值的;有一个参数的;万能参数的
import time

def ti(f):
    def inner(*args,**kwargs):
        start = time.time()
        ret = f(*args,**kwargs)
        end = time.time()
        print(end - start)
        return ret
    return inner

@ti #语法糖
def func1(a,b):
    time.sleep(0.01)
    print(你好,a,b)
    return "新年快乐"

@ti
def func2(a):
    time.sleep(0.01)
    print(你好,a)
    return "新年快乐"


#func = ti(func)  #加了装饰器后就省略了这一句
ret1 = func1(a=2,b=4)
ret2 = func2(a=222)
print(ret1,\n,ret2)

装饰器的固定模式

def wrapper(f): #wrapper是装饰器函数名,f是被装饰函数
    def inner(*args,**kwargs):
        ‘‘‘
        在被装饰的函数之前要做的事
        ‘‘‘
        ret = f(*args,**kwargs)
        ‘‘‘
        在被装饰的函数之后要做的事
        ‘‘‘
        return ret
    return inner

 

2装饰器

原文:https://www.cnblogs.com/gao-chao/p/13245809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!