有参装饰器
def outer(flag): def timer(func): def inner(*args,**kwargs): if flag: print('''执行函数之前要做的''') re = func(*args,**kwargs) if flag: print('''执行函数之后要做的''') return re return inner return timer @outer(False) def func(): print(111) func()
多个装饰器装饰同一个函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def wrapper1(func): def inner(): print ( 'wrapper1 ,before func' ) func() print ( 'wrapper1 ,after func' ) return inner def wrapper2(func): def inner(): print ( 'wrapper2 ,before func' ) func() print ( 'wrapper2 ,after func' ) return inner @wrapper2 @wrapper1 def f(): print ( 'in f' ) f() |
【推荐】鸿蒙应用开发者激励计划,开发上架应用,现金激励超亿元!
【推荐】园子的不务正业:向创业开发者推荐「楼盘」- 杭州云谷中心
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战!
【推荐】注册飞算「JavaAI」开发助手,立得京东e卡!立即安装体验