装饰器
装饰的东西,工具,装饰的工具
函数定义一个工具
装饰器本质上其实也是一个函数,只不过这个函数具有装饰的功能
装饰器: 改变功能的时候不改变原来的调用方式,并且不改变函数的代码,是python的核心思想开放封闭原则,可以在不重构代码的情况下做到对项目功能的增加
在自己写项目的时候会很少需要自己去写装饰器,更多的是调用别人写好的装饰器
装饰器调用方法一般是使用语法糖
代码
# 装饰的功能
import time
def getruntime(func):
def wrapper(*args,**kwargs):
start = time.time()
res = func(*args,**kwargs)
time.sleep(1)
end = time.time()
runtime = end - start
print(f"程序运行了{runtime - 1}秒")
return res
return wrapper
@getruntime
def haha(info):
return info
a=haha(['a','b'])
print(a)
上述代码在不改变haha这个函数的原功能下做到了对这个程序执行时间的计算