python-装饰器1
定义
本质就是函数,(装饰其他函数)就是为其他函数添加附加功能
原则:
1、不能修改被装饰的函数的源代码
2、不能修改被装饰的函数的调用方式
def logger(): print('logging') def test1(): pass logger() def test1(): pass logger() test1() test2()
实现装饰器知识:
1.函数既“变量”
2、高阶函
a :把一个函数名当做实参传给另外一个函数(不能修改被装饰的函数的源代码)
b :返回值中包含函数名
3、嵌套函数
就是在一个函数中用def定义一个新的函数。
高阶函数+嵌套函数=装饰器
import time def timmer(func): def warpper(*args,**kwargs): start_time=time.time() func() stop_time=time.time() print('the func run time is %s'%(stop_time-start_time)) return warpper @timmer def test1(): time.sleep(3) print("in the test1") test1()