#装饰器
import time

def show_time(f):
    def inner():
        start=time.time()
        f()
        end=time.time()
        print("spend!!!!! %s " % (start-end))
    return inner

@show_time       #语法糖相当于foo=show_time(foo)
def foo():
    print("foo~~~~~")
    time.sleep(2)

@show_time
def bar():
    print("bar~~~~~")
    time.sleep(3)

foo()
bar()
  • 参数

#增加日志记录

import time
def logger(flag=''):
    def show_time(f):
        def inner(*x,**y):
            start=time.time()
            f(*x,**y)
            end=time.time()
            print("spend!!!!! %s " % (start-end))
            if flag=="true":
                print("打印日志")
        return inner
    return show_time

@logger("true")   #参数为true加日志
def add(*a,**b):
    sum=0
    for i in a:
        sum+=i
    print(sum)
    time.sleep(1)

add(1,2,3,4,5,6)