修饰器的作用是:在function执行后,如果需要对函数的输出结果进行进一步的加工,则可以为函数增加一个修饰器
# 以做汉堡为例 def bread(fun): print('(---------)') fun() print('(============)') def vegetable(fun): print('~~~~~~~~~~~~~') fun() print('~~~~~~~~~~~~') def beef(): print('[][][][][][]') #做汉堡 bread(vegetable(beef))
加上修饰器
def bread(fun): def a(): print('(---------)') fun() print('(============)') return a #注意这里a不带(),如果带小括号表示立即执行 def vegetable(fun): def a(): print('~~~~~~~~~~~~~') fun() print('~~~~~~~~~~~~') return a #注意这里a不带(),如果带小括号表示立即执行 @bread @vegetable #修饰器执行顺序为由内而外,和函数近的修饰器先执行 def beef(): print('[][][][][][]') beef() #(---------) #~~~~~~~~~~~~~ #[][][][][][] #~~~~~~~~~~~~ #(============)
修饰器的特点,一次编写,调用只需要加个@funciton,调用方便,一般用于给函数通用的步骤加装饰器
来源:https://www.cnblogs.com/yingyingdeyueer/p/12367004.html