day11(python)装饰器

def wrapper(f):#1    
    def inner(*args,**kwargs):#3
        ret = f(*args,**kwargs)#5
        return ret#8
    return inner#4
@wrapper         #装饰器名字            #func=wrapper(func),此时func实际上是inner的内存地址
def func(*args,**kwargs):#2   #被装饰函数
    print(args,kwargs)#6
    print(kwargs)#7

func(1,5,6,a=2,b=1)

装饰器固定格式如上

注意:print()里面不能放**kwargs

然后print(args,kwargs)输出的是元祖和字典

原文地址:https://www.cnblogs.com/qq946487854/p/9828763.html