装饰器函数

复制代码
import time


# 装饰器函数
def log_cat(flag='false'):  # 加一层可以进行参数传递
    def time_def(f):
        def inner(*args):
            start = time.time()
            f(*args)
            end = time.time()
            s_e = end - start
            print("时间:%s" % s_e)
            if flag == "True":
                pass

        return inner

    return time_def


@log_cat("True")  # 等价于 @time_def   @time_def 等价于 foo = time_def(foo)
def add(*args):
    sum_args = sum(args)
    print(sum_args)
    time.sleep(1)


add(1, 3, 5, 6, 9)  # 已原来的方式调用,不改变调用方式


@log_cat()
def foo():
    print("foo1....")
    time.sleep(3)


foo()
复制代码

 

posted @   GDquicksand  阅读(4)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示