python修饰器

◇◆丶佛笑我妖孽 提交于 2020-02-26 15:39:34

修饰器的作用是:在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,调用方便,一般用于给函数通用的步骤加装饰器

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!