自己写装饰器举例
1、函数作为参数,传递给另外的函数
2、函数的嵌套
可以在函数内定义另外一个函数
函数中可以调用新定义的函数
函数中可以执行传入的函数
3、函数内部定义的函数,可以作为返回值
a函数作为参数,传递给strong函数。strong函数中给传入的函数增加了一行打印的新功能,又封装成一个新函数,然后把新函数返回到调用的地方,新函数用new_a来保存,然后调用新函数。这时的新函数不但有原来函数的功能,还又增加了新的功能。
可以通过这种方法给原有函数增加新功能,还不改写原有函数的代码。
可是这样如果后面有用到原来a函数的位置,都需要改代码,那我可以把新函数也用a来表示,这样就不用改了。(类似a=a+1,把原来的函数改造一下,变成了一个新函数)。这时后面调用的a函数,就都是改造后的a函数了。但是如果这样就没法调用原来的a函数。
所以这时就用装饰器,如果想用原来的函数就不加装饰器,如果想用改造后的新函数,就用装饰器
装饰器的使用
用装饰器的时候直接用就可以,几乎不用关心装饰器怎么写,基本都是已经写好的
想要增加新功能就加装饰器
想要用原来的函数就把装饰器注释掉