什么是装饰器


# 无参数的装饰器

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)
posted @ 2018-01-08 21:11  East~L  阅读(124)  评论(0编辑  收藏  举报