- 帖子
- 2
- 精华
- 0
- 积分
- 9
- 阅读权限
- 10
- 注册时间
- 2016-8-9
- 最后登录
- 2016-8-10
|
我的问题是,为什么装饰器所装饰的方法,被调用的时候,不会执行装饰器中的代码,新手求指导!
代码如下:
#encoding=utf-8
def info():
print "调用Info"
return "info()"
print "---普通模式---"
res = info()
print "调用结果为:" + res;
print "--------------"
def decoInfo(function):
print "[DEBUG] 调用函数之前"
return function
print "---装饰器模式---"
info = decoInfo(info)#只调用一次装饰器的代码 ???
print "--- 完成装饰 ---"
res = info()#此处仍为旧的代码 ???
res2 = info()
print "调用结果为:" + res;
print "调用结果为:" + res2;
print "----------------"
运行结果如下:
---普通模式---
调用Info
调用结果为:info()
--------------
---装饰器模式---
[DEBUG] 调用函数之前
--- 完成装饰 ---
调用Info
调用Info
调用结果为:info()
调用结果为:info()
----------------
|
|