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)輸出的是元祖和字典