python 装饰器

                  装饰器

1.概念 : 装饰器本质上就是一个Python函数 , 它可以让其他函数在不做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象。

2.装饰器的本质:是一个闭包函数   

3.装饰器的功能:在不修改原函数的情况及其调用方式的情况下对原函数功能进行扩展 

 应用场景:比如插入日志 , 性能测试,事务处理 ,缓存等等场景      

语法糖:  @装饰器函数名       必须写在被装饰的函数定义之前      

4.开放封闭原则   1.对扩展是开放的   

任何一个程序  不可能在设计之初就已经想好了所有功能并且未来不做任何修改和更新  , 所以我们必须允许 代码扩展 添加新功能

2.对修改是封闭的

我们写的函数    很有可能已经交付其他人使用了   如果在这个时候我们对其进行了修改   很有可能影响其他已经在使用该函数的用户

函数名.__doc__  查看函数注释          函数名.__name__查看函数名     为了避免查看函数的一些信息的方法在此处都会失效  我们可以使用functools模块中的    wrapes装饰器        

 

         

posted @ 2019-01-17 19:07  不醒梦  阅读(96)  评论(0编辑  收藏  举报