請描述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