---恢复内容开始---
1.开放封闭原则
软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能扩展是开放的,也就是说我们必须找到一种解决方案:
能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能
归纳两个原则如下:
1.不修改源代码
2不修改调用方式
2、什么是装饰器
器指的是工具,装饰指的是为装饰对象添加新功能
完整的含义:
装饰器即在不修改函数源代码和调用方式的前提下,为被装饰对象添加新功能
装饰器与被装饰的对象均可以是任意可调用的对象
装饰器==>函数
被装饰的对象==>函数
3.无参装饰器
(模板)
def outer(func):
def inner(*args,**kwargs):
res=func(*args,**kwargs)
return res
return inner
==============装饰器
def timmer(func):
#func=最原始的home
def wrapper(*args,**kwargs):
start_time=time.time()
res=func(*args,**kwargs) #调用最原始的home
stop_time=time.time()
print(stop_time-start_time)
return res
return wrapper
index=timmer(index) # 新的index=wrapper
home=timmer(home) #新的home=wrapper
==========================================
res=index() #res=wrapper()
print(res)
---恢复内容结束---