# 通用装饰器deffun_out(old):deffun_inner(*args,**kwargs):print('程序开始执行了')print(old(*args,**kwargs))print('程序执行结束了')return fun_inner
# r = fun_out(add)# r(1, 2)# 语法糖的写法 @fun_out
@fun_out # @fun_out=fun_out(old)deffun1():print('我是fun1')
fun1()
@fun_out
defadd(a, b):return a + b
add(1,2)
课后作业
# 请使⽤装饰器实现已存在的函数的执⾏所花费的时间。# time模块import time
deffun_out(old):deffun_inner(*args,**kwargs):# 开始时间
start = time.time()
old(*args,**kwargs)# 结束时间
end = time.time()# 耗时print('一共耗时:{} 秒'.format(end - start))return fun_inner
@fun_out
deffun(a):
num =0for i inrange(a):
num += i
print('计算总和为:{}'.format(num))return
fun(22565)