码迷,mamicode.com
首页 > 其他好文 > 详细

带参数的装饰器

时间:2018-09-28 10:54:21      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:nbsp   效率   pre   int   ret   lse   time()   imm   turn   

#!/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()

 

带参数的装饰器

标签:nbsp   效率   pre   int   ret   lse   time()   imm   turn   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!