装饰器

作者: 程猿先生 | 来源:发表于2017-06-07 22:32 被阅读0次

    装饰器,功能就是在运行原来功能基础上,加上一些其它功能,比如权限的验证,比如日志的记录等等。不修改原来的代码,进行功能的扩展。

    比如java中的动态代理,python的注解装饰器

    其实python的装饰器,是修改了代码。

    先明白一段代码

    多个装饰器

    装饰器(decorator)功能

    1.引入日志

    2.函数执行时间统计

    3.执行函数前预备处理

    4.执行函数后清理功能

    5.权限校验等场景

    6.缓存

    例1:无参数的函数

    例2:被装饰的函数有参数

    例3:被装饰的函数有不定长参数

    例4:装饰器中的return

    ·一般情况下为了让装饰器更通用,可以有return

    例5:装饰器带参数,在原有装饰器的基础上,设置外部变量

    例6:类装饰器(扩展)

    装饰器函数其实是这样一个接口约束,它必须接受一个callable对象作为参数,然后返回一个callable对象。在Python中一般callable对象都是函数,但也有例外。只要某个对象重写了__call__()方法,那么这个对象就是callable的。

    相关文章

      网友评论

          本文标题:装饰器

          本文链接:https://www.haomeiwen.com/subject/ppnafxtx.html