python day11
装饰器函数
# 装饰器形成过程
# 装饰器的作用
# 原则:开放封闭原则
# 装饰器的固定模式

装饰器的作用——#不想修改函数的调用方式 但是还想在原来的函数前后添加功能
#timmer就是一个装饰器函数,只是对一个函数 有一些装饰作用
#不想修改函数的调用方式 但是还想在原来的函数前后添加功能
#timmer就是一个装饰器函数,只是对一个函数 有一些装饰作用
def func():
time.sleep(0.01)
print("老板好同事好大家好!")
def timmer(f): #装饰器函数
def inner():
start = time.time()
f() #被装饰的函数
end = time.time()
print(end - start)
return inner
func = timmer(func)
func()
# 原则:开放封闭原则
# 开放 : 对扩展是开放的
# 封闭 : 对修改是封闭的
def timmer(f): #装饰器函数 def inner(): start = time.time() f() #被装饰的函数 end = time.time() print(end - start) return inner @timmer #语法糖 @装饰器函数名 def func(): time.sleep(0.01) print("老板好同事好大家好!") func()
# 加上返回

加参数
#装饰带参数函数的装饰器

多个参数

加上多个参数,包括关键字参数:

简化后的重要函数:
装饰器固定模式
def wrapper(func): #qqxing def inner(*args,**kwargs): ret = func(*args,**kwargs) #被装饰的函数 return ret return inner @wrapper #qqxing = wrapper(qqxing) def qqxing(): print(123) ret = qqxing() #inner

浙公网安备 33010602011771号