python之装饰器

1  什么是装饰器?

装饰器本质上就是一个函数(或类),能够在不修改现有函数代码的情况下,对现有函数的功能实现扩充。

装饰器其实就是一个闭包,把一个函数当做返回参数,装饰器本质是调用外部的函数返回了是闭包(内部函数)

装饰器:

1、装饰器为函数

       被装饰对象为函数:无参装饰器、带参装饰器

       带参装饰器:

2、被装饰对象为类

        装饰器为类:被装饰对象为函数、被装饰对象为类

2   装饰器的使用过程

1、调用了装饰器对应的外层函数,并且将被装饰函数作为实参传递给外层函数。目的是为了能够让内层函数使用这个作为外层函数的局部变量的被装饰函数,从而执行被装饰函数的代码实现。

2、外层函数将内层函数的引用返回给被装饰函数的原函数名(变量名),实现闭包

3  装饰器的原则

****不能修改被装饰的函数的源代码

****不能修改被装饰的函数的调用方式

4   装饰器的作用-开放封闭

在不修改被装饰对象源代码以及调用方式的前提下为其添加新功能。

装饰器的作用就是为已经存在的函数或对象添加额外的功能,使用装饰器能够使用原函数名调用实现除了原来功能之外的扩展功能。

5   带参装饰器

6   装饰器实现路由功能

什么是路由?根据浏览器的请求找到相应的函数去执行任务。

 

posted @ 2018-08-14 18:57  三叶草body  阅读(381)  评论(0)    收藏  举报