首页 > 编程语言 > 详细

python 装饰器 晋级 系统自带的装饰器

时间:2018-11-02 15:18:14      阅读:166      评论:0      收藏:0      [点我收藏+]
#带参数的装饰器
#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()

#多个装饰器装饰一个函数
def wrapper1(func):
    def inner1():
        print(wrapper1 ,before func)
        ret = func()
        print(wrapper1 ,after func)
        return ret
    return inner1

def wrapper2(func):
    def inner2():
        print(wrapper2 ,before func)
        ret = func()
        print(wrapper2 ,after func)
        return ret
    return inner2

def wrapper3(func):
    def inner3():
        print(wrapper3 ,before func)
        ret = func()
        print(wrapper3 ,after func)
        return ret
    return inner3

@wrapper3
@wrapper2
@wrapper1
def f():
    print(in f)
    return 哈哈哈

print(f())

#记录用户的登录情况
#计算这个函数的执行时间

 

python 装饰器 晋级 系统自带的装饰器

原文:https://www.cnblogs.com/xiao-zhi/p/9896251.html

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