导图
装饰器模板
from functools import wraps
def moban(func): #func 传入被装饰函数
@wraps(func) #将func的内置属性换到wrapper
def wrapper(args,**kwargs): #添加新扩展 需求
wrapper.name =func.name #内置属性换过来 相当于wraps(func)
wrapper.doc=func.doc
res=func(args,*kwargs) # 调用原函数,取得原函数的返回值
return res #返回原函数的返回值
return wrapper
func=moban(func) #相当于在函数正上方 @moban