python中的装饰器基本理论
装饰器 : 本质上 是一个 函数
原则 :
1,不修改原函数的源代码
2,不修改原函数的调用方式。
装饰器的知识储备
装饰器 = 高阶函数 + 函数嵌套 +闭包
我的理解是,函数名也是一个变量,将函数作为参数,传到嵌套函数的里面,将附加的功能放在它的外边。就是装饰器。
import time
def timmer(func): #func=test
def wrapper():
# print(func)
start_time=time.time()
func() #就是在运行test()
stop_time = time.time()
print('运行时间是%s' %(stop_time-start_time))
return wrapper
@timmer #test=timmer(test)
def test():
time.sleep(3)
print('test函数运行完毕')
test()
全世界的程序员们联合起来吧!