什么是装饰器
# 无参数的装饰器
def wapper(f):
def inner(*args,**kwargs):
return f(*args,**kwargs)
return inner
@wapper
def func(arg):
print(arg)
func(123)
# 有参数的装饰
def outer(num):
def wapper(f):
def inner(*args,**kwargs):
return f(*args,**kwargs)
return inner
return wapper
@outer(666) # 先执行wapper(666),获取返回值; @wapper,再执行wapper函数wapper(func); func=inner函数
def func(arg):
print(arg)
func(123)