#多个装饰器装饰一个函数 def wrapper1(func): def inner(*args,**kwargs): print("before1") ret=func() print("after1") return ret return inner def wrapper2(func): def inner(*args,**kwargs): print("before2") ret=func() print("after2") return ret return inner @wrapper2 @wrapper1 def f(): print("你好") f() #带参数的装饰器 #500个函数 import time FLAGE = False def timmer_out(flag): def timmer(func): def inner(*args,**kwargs): if flag: start = time.time() ret = func(*args,**kwargs) end = time.time() print(end-start) return ret else: ret = func(*args, **kwargs) return ret return inner return timmer # timmer = timmer_out(FLAGE) @timmer_out(FLAGE) #wahaha = timmer(wahaha) def wahaha(): time.sleep(0.1) print('wahahahahahaha') @timmer_out(FLAGE) def erguotou(): time.sleep(0.1) print('erguotoutoutou') wahaha() erguotou()
python-装饰器进阶day13
猜你喜欢
转载自www.cnblogs.com/orange126/p/10869721.html
今日推荐
周排行