首页 > 其他 > 详细

多层装饰器、带参数装饰器

时间:2019-05-02 20:01:20      阅读:178      评论:0      收藏:0      [点我收藏+]
# 带参数的装饰器
# import time
# FLAGE = False           # 加个标志位,使全部的装饰器可以失效或有效
# def timmer_out(flag):
#     def timmer(func):
#         def inner(*args,**kwargs):
#             if flag:
#                 start =time.time()
#                 ret = func(*args,**kwargs)
#                 print(time.time()-start)
#                 return ret
#             else:
#                 ret = func(*args, **kwargs)
#                 return ret
#         return inner
#     return timmer
#
# @timmer_out(FLAGE)  # timmer_out(FLAGE)就是timmer
# def func():
#     time.sleep(0.1)
#     print(‘sleep:0.1‘)
# @timmer_out(FLAGE)
# def fun1():
#     time.sleep(0.5)
#     print(‘sleep:0.5‘)
# func()
# fun1()


# 多层装饰器
# 记录用户登陆情况,记录时间等场景
def fun1(func): def inner(*args,**kwargs): print(111) ret = func() print(222) return ret return inner def fun2(func): def inner1(*args,**kwargs): print(aaa) ret = func() print(bbb) return ret return inner1 @fun1 @fun2 def func(): print() func()

 

多层装饰器、带参数装饰器

原文:https://www.cnblogs.com/Mr-Feng/p/10803156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!