装饰器 : 本质上 是一个 函数

原则 :

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()

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2021-10-13
  • 2022-01-17
猜你喜欢
  • 2021-05-23
  • 2022-12-23
  • 2021-07-07
  • 2022-01-07
  • 2021-07-29
  • 2022-12-23
  • 2021-06-23
相关资源
相似解决方案