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

python 装饰器函数基础知识

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 @   一剑霜寒十九洲  阅读(36)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示