python中的装饰器相当于java中的切面,我们可以在它之前或之后做一些其它的事
def auth(func): def inner(*args, **kwargs): print('在index函数调用之前做一些事。。。') ret = func(*args, **kwargs) # 这儿的func就是index函数 print('在index函数调用之后做一些事。。。') return ret return inner # 给index函数添加auth这个装饰器,就相当于将index函数作为入参传给auth @auth def index(): print('调用真正的index函数') # 调用index函数 index()
在index函数调用之前做一些事。。。
调用真正的index函数
在index函数调用之后做一些事。。。
此外,还需要注意的一点就是, index函数不添加装饰器auth时,index.__name__ 等于 index ;添加装饰器auth之后,index.__name__ 等于inner
日拱一卒无有尽,功不唐捐终入海
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步