装饰器

装饰器:    ---->要求记住最后的结论

  装饰器本质上是一个闭包

  作用:

    在不改变原有函数调用的情况下, 给函数增加新的功能。

    直白:可以在函数前后添加新的功能, 但是不改变原来的代码

   在用户登录的地方, 日志。

   雏形:

      def wrapper(fn):  wrapper:装饰器, fn:目标函数

        def inner(*args, **kwargs):

          #在目标函数之前...

          ret = fn(*args, **kwargs)  # 执行目标函数

          # 在目标函数执行之后。。。。

          return ret

         rerurn inner     # 千万不要加上()

      @wrapper

      def target():

        pass

      

      target()  # ==> inner()

一个函数可以被多个装饰器装饰

posted @ 2022-06-16 09:45  acwecc  阅读(16)  评论(0)    收藏  举报