def dec(fun):
def _fun(*arg,**args):
print "pre"
print args
res=fun(*arg)
print "after"
return res
return _fun
@dec
def a(i,j,a='0'):
print 'run fun a'
return i+j
print a(3,4,a='b')
====== 带参数的装饰器 ======
def decc(i):
def dec(fun):
def _fun(*arg,**args):
print "pre"
print args,i
res=fun(*arg)
print "after"
return res
return _fun
return dec
@decc(100)
def b(a,b,c='aa'):
return a+b
print b(1,2,a='aaa')