首页 > 技术文章 > python基础之装饰器

zhtook 2020-06-07 19:52 原文

装饰器:在不改变原函数内部代码的基础上,在函数执行之前和之后自动执行某个功能。

  • 目的:在不改变原函数的基础上,再函数执行前后自定义功能。

  • 编写装饰器 和应用

    # 装饰器的编写
    def x(func):
       def y():
           # 前
           ret = func()
           # 后
           return ret
      return y

    # 装饰器的应用
    @x
    def index():
       return 10

    @x
    def manage():
       pass

    # 执行函数,自动触发装饰器了
    v = index()
    print(v)
  • 应用场景:想要为函数扩展功能时,可以选择用装饰器。

  • 记住:

    • 装饰器编写格式

      def 外层函数(参数): 
         def 内层函数(*args,**kwargs):
             return 参数(*args,**kwargs)
         return 内层函数
    • 装饰器应用格式

      @外层函数
      def index():
         pass
      index()

推荐阅读