人生三大境界
衣带渐宽终不悔,为伊消得人憔悴。
昨夜西风凋碧树,独上高楼,望尽天涯路。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

python 装饰器函数基础知识

1.装饰器的本质--一个闭包函数
2.装饰器的功能--在不改变原函数及其调用方式情况下对原函数功能进行拓展
3.带参数和返回值的装饰器
def timer(func):
    @wraps(func) #使这些函数生效 __doc__ 查看函数注释信息 __name__ 查看函数名
    def inner(*args,**kwargs):
        start = time.time()
        re = func(*args,**kwargs)
        print(time.time() - start)
        return re
    return inner
	
4.装饰器函数有形参
def outer(flag):
    def timer(func):
        def inner(*args,**kwargs):
            if flag:
                print('''执行函数之前要做的''')
            re = func(*args,**kwargs)
            if flag:
                print('''执行函数之后要做的''')
            return re
        return inner
    return timer
	

5.多个装饰器装饰同一个函数
执行顺序:1.执行第1个装饰器函数前的部分 2.执行第2个装饰器函数前部分
          3.执行第2个装饰器函数后的部分 4.执行第1个装饰器函数后的部分

  

posted @ 2021-10-18 17:38  一剑霜寒十九洲  阅读(36)  评论(0编辑  收藏  举报