装饰器:
#cdoing:utf-8
from time import ctime,sleep
def tsfunc(func):
defwrappedFunc():
print'[%s] %s() called'%(ctime,func.__name__)
returnfunc()
return wrappedFunc
@tsfunc
def foo():
pass
foo()
sleep(4)
for i in range(2):
sleep(1)
foo()
#装饰器实际上就是函数,当你看到一个装饰器函数的时候,很可能在里面
#找到这样一些代码,它定义了某个函数并在定义内的某处嵌入了对目标函数的调用或者至少一些引用
#可以考虑在装饰器中置入通用功能的代码来降低程序复杂度,可以用装饰器来:
#引入日志;
#增加计时逻辑来检测性能
#给函数加入事务的能力
运行结果