装饰器的原则
开放封闭的原则:
1.对扩展是开放的
我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改。所以我们必须允许代码扩展、添加新功能。即装饰器的开放原则。
2.对修改是封闭的
在一个原有的函数中,很有可能已经交付给其他人使用了,如果这个时候我们对函数内部进行修改,或者修改了函数的调用方式,很有可能影响其他已经在使用该函数的用户。即装饰器的封闭原则。
装饰器的格式
def wrapper(func):
def inner(*args,**kwargs):
'''执行被装饰函数之前的操作'''
ret = func
'''执行被装饰函数之后的操作'''
return ret
return inner
不一定要完全按照这个格式啊,个人有个人的理解,我只是感觉自己经常用这个格式写而已。
其实说白了装饰器就是对函数原有功能的封装,对新增加功能的拓展;当然也可以很好的解决重复代码的问题,当一个功能需要多次执行时,为了少写些代码,就可以把原有函数封装起来,直接加语法糖调用就行了;