# 获取程序执行时间
import time
def get_time(fn):
def inner():
# 添加装饰器修饰功能(获取程序的执行时间)
begin=time.time()
# 调用fn函数
fn()
end=time.time()
print(f'这个函数的执行时间:{end-begin}')
return inner
@get_time
def demo():
num_list=[]
for i in range(1000000):
num_list.append(i)
demo()
3 带有参数的装饰器
def logging(fn):
def inner(*args,**kwargs):
# 添加装饰器(输出日志信息)
print('--正在进行计算--')
# 执行要修饰的函数
fn(*args,**kwargs)
return inner
@logging
def sum_num(*args,**kwargs):
result=0
for i in args:
result+=i
for v in kwargs.values():
result+=v
print(result)
sum_num(1,2,a=3,b=4)