首页 > 代码库 > 装饰器笔记

装饰器笔记

#装饰器的的原理为利用高阶函数和函数相互嵌套完成在不修改原函数代码和调用方法的情况下实现新的功能
#函数其实也是一个变量不加()的函数名就是这个函数的内存地址而完整的函数名则是执行这个函数


import time
def timer(func): #高阶函数 :实参为函数名,返回值也为函数名
def test3(*args,**kargs): #嵌套函数 :(*args,**kargs) 是为了适应需要参数的函数
start_time=time.time()
func(*args,**kargs)
stop_time=time.time()
print(‘用时%s‘%(start_time-stop_time))
return test3



@timer
def test1():
time.sleep(1)
print(‘in the test1‘)

@timer
def test2(name):
time.sleep(1)
print("in the %s"%name)

test1()
test2(‘cen‘)

装饰器笔记