码迷,mamicode.com
首页 > 编程语言 > 详细

python之decorator 装饰器

时间:2020-05-25 12:39:17      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:代码   函数返回   this   参数   def   直接   运用   动态扩展   生成   

  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 装饰器

标签:代码   函数返回   this   参数   def   直接   运用   动态扩展   生成   

原文地址:https://www.cnblogs.com/weim-123/p/12955819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!