python 函数装饰器
# 函数传入的参数可以是函数 def func1(): print('1') def func2(func): # func为函数 func() print('2') func2(func1) # 1 2
def func1(func): def call(): print('----start----') func() print('----end----') return call def func2(): print('here is the func2') @func1 # 将func3作为一个参数放入func1中再调用 def func3(): print('here is the func3') myfunc1 = func1(func2) myfunc1() myfunc2 = func3() mufunc2() # 同样的效果
并且可以存在多个装饰器,且装饰器可以带参数(只需要多嵌套一层即可)
def func1(name): def call1(func): def call2(): print(f'my name is {name}') print('----start----') func() print('----end----') return call2 return call1 @func1(name='xxp') def func2(): print('here is the func2')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?