Python 装饰器 和 @修饰符
本帖最后由 素简生香 于 2017-11-17 11:04 编辑【 Python 装饰器 和 @修饰符 】 装饰器本身就是一个函数,将被装饰的函数当作参数,传递给装饰器,返回的是包装后的函数装饰器函数使用 @修饰符 放在被装饰函数的前一行来看下面一段代码:装饰器的最简实现#-*- coding:utf-8 -*- def decofun(func): func() print "装饰函数 decofun 运行结束" @decofundef myFun(): print "调用被装饰函数 myFun"在上面的代码中,decofun就是装饰函数,myFun 则是被调用函数; python 解释器在发现修饰符@decofun时,会自动调用 decofun 函数,将修饰符下面的def myFun函数的定义作为参数传递给 decofun 函数的形参 func; 上面的代码等价于: #-*- coding:utf-8 -*- def decofun(func): func() print "装饰函数 decofun 运行结束" def myFun(): print "调用被装饰函数 myFun" myFun = decofun(myFun)
页:
[1]