请描述decorator(装饰器)的用法和它的应用场景,如果可以的话,写一个decorator
参考答案:
所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数,返回包装后的函数:
def d(fp):
def _d(*arg, **karg):
print "do sth before fp.."
r= fp(*arg, **karg)
print "do sth after fp.."
return r
return _d
@d
def f():
print "call f"
#上面使用@d来表示装饰器和下面是一个意思
#f = d(f)
f()#调用f