装饰器
什么是装饰器
器:指的就是一种工具
装饰:指的是给某一个已存在的对象添加装饰品
装饰的目的是为了给这个被装饰对象,添加新功能或者说,增加某种能力
在程序中工具就是函数
如此一来,装饰器指的就是一个函数,被装饰者也是一个函数
总结:装饰器就是用一个函数去扩展另一个已存在函数的功能
扩展性是对于一个应用程序来说非常重要的能力,任何应用程序都需要扩展,于是出现了开闭原则
开闭原则
对修改关闭,对扩展开放
不允许修改源代码以及调用方式,
装饰器就是一种可以保证不修改源代码,也不修改调用方式,还能给函数添加新功能的方式
装饰器模板
def outer(func):
def wrapper():
print('扩展的新功能')
func()
print('扩展的新功能')
return wrapper
@outer
def download():
pass
download()