装饰器:
装饰器的产生原因:不想修改函数的调用方式,但是还想在原来的函数前后增加功能,是对一个函数的装饰功能
使用装饰器的函数,本质上不一定是在单纯地执行原函数了,返回值也就不是原来的了。想拿这个的话就在装饰器函数里把原函数的返回值return一下,return永远只返回到调用他的一步。
因此,背住一个装饰器模块,编写装饰器先写这个模板,再在前后填充
def decorator(func): #此处传入的是被装饰的函数的名字 def inner(*args,**kwargs): #执行原函数前做的内容 ret = func(*args,**kwargs) #执行原函数后做的内容 return ret return inner
开放封闭原则:对于扩展是开放的,对于修改是封闭的