所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就内是一个函数,参数为容被包装的函数,返回包装后的函数:你可以试下:
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