首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

[D]哪位高手能帮小弟我解释一下这段代码什么意思呢

2012-05-09 
[D]谁能帮我解释一下这段代码什么意思呢Python codedef DecoratorFunc(func):def fun1(*args,**kargs):pri

[D]谁能帮我解释一下这段代码什么意思呢

Python code
def DecoratorFunc(func):    def fun1(*args,**kargs):        print 'hello world'        return func(*args,**kargs)    fun1.real_func = func                //这句是什么意思 有什么作用    return fun1                          //为什么必须返回fun1@DecoratorFuncdef fun(x, y):    print "my func"if __name__ == '__main__':        fun((1,2,3,4,5),{"a":1, "b":2})


谁能帮我解释一下这个的执行过程 多谢
-------------------------
Double行动:
原帖分数:30
帖子加分:30

[解决办法]
1、为函数对象fun1增加一个属性real_fun,用来记录未装饰前的函数对象
2、装饰器语法要求返回装饰后的函数对象

其实总体说起来,装饰器其实也就是一个函数,一个用来包装函数的函数,返回一个修改之后的函数对象,将其重新赋值原来的标识符,并永久丧失对原始函数对象的访问。
 

2. 装饰器语法

(1)无参数装饰器

Python code
    def deco(func):          print func          return func      @deco      def foo():pass      foo() 

热点排行