所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数,返回包装后的函数:你可以试下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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