首页 > 其他 > 详细

带参数的装饰器

时间:2018-09-28 10:22:02      阅读:133      评论:0      收藏:0      [点我收藏+]
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 作者: Apollo
# 邮箱: 1986690272@qq.com
# 博客: http://www.zgerji.online/

import time

flag = True


def timmer_out(f):
    def timmer(func):
        def inner(*args, **kwargs):
            ‘‘‘执行函数前操作‘‘‘
            if f:
                start_time = time.time()
                time.sleep(0.3)
                ret = func(*args, **kwargs)
                ‘‘‘执行函数后操作‘‘‘
                end_time = time.time()
                print(执行效率%s % (end_time - start_time))
                return ret
            else:
                ret = func(*args, **kwargs)
                return ret

        return inner

    return timmer

# timmer_out(flag),返回timmer
@timmer_out(flag)
# @timmer,就是你认识的装饰器,f1 = timmer(f1)
def f1():
    print(666)


@timmer_out(flag)  # f2 = timmer(f2)
def f2():
    print(777)


f1()
f2()

 

带参数的装饰器

原文:https://www.cnblogs.com/apollo1616/p/9716622.html

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