1.带参数装饰器二
当想在建立的装饰器中再加入参数,需要更复杂些的定义(注:装饰器不仅可以用函数定义也还可以采用类的定义)
例:
def log(text):
def dec(func):
def wrap(*k,**kw):
print('%s '%(text))
print('%s()'% func.__name__)
return func(*k,**kw)
return wrap
return dec
@log('加法函数')
def add(x,y):
sum=x+y
return sum
print(add(1,2))
结果
加法函数
add()
3