python之decorator 装饰器

Posted 散发扁舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之decorator 装饰器相关的知识,希望对你有一定的参考价值。

  1. 装饰器的概念(decorator)

    动态扩展已定义函数的功能,但是不改动函数本身的代码。

    原理:高阶函数可以接受函数作为参数,并返回一个函数。

       所以将需要扩展的函数作为参数传入,生成新的函数返回。

  2. 调用装饰器,运用@  

    比如定义了装饰器log

    def log(f):

      def fn(*args, **kw): //对于任意参数定义的函数都可以调用

        print ‘this  is a log‘ //装饰器扩展内容

        return f(*args, **kw) //调用参数函数

      return fn //返回装饰器函数

    对于装饰器log的调用

    @log

    def add(x, y):

      return x + y

    print add(1, 2)

    结果为 : 

    this is a log

    3

    运行时直接调用装饰器log的fn函数

以上是关于python之decorator 装饰器的主要内容,如果未能解决你的问题,请参考以下文章

python之decorator 装饰器

python之decorator 装饰器

python之装饰器(decorator)

如何在python中“事后”将装饰器附加到函数上?

Python笔记之装饰器(decorator)

访问类属性作为装饰器参数