Python - 装饰器

装饰器
本质:本质是函数,(装饰其他函数)就是为其他函数添加附加功能
原则:1、不能修改被装饰的函数的源代码
2、不能修改被装饰的函数的调用方式
实现装饰器知识储备:
1、函数即“变量”
2、高阶函数
a、把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)
b、返回值中包含函数名(不修改函数的调用方式)
3、嵌套函数
【Python - 装饰器】高阶函数+嵌套函数 =》 装饰器

import time def timer(fun): def dec(*args,**kwargs):#可以传任意参数 start_t=time.time() fun(*args,**kwargs) end_t=time.time() print("用时:%s"%(end_t-start_t)) return dec@timer def test1(): time.sleep(2) print("111111111111") @timer def test2(name,age): time.sleep(2) print(name,age) test1() test2("fdas",23)


    推荐阅读