Python(76)_装饰器进阶_带参数的装饰器

#-*-coding:utf-8-*-
import os
import time
'''
带参数的装饰器
'''
FLAG = 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_out(FLAG)    # timmer = timmer_out(flag), @timmer = wahaha==timmer(wahaha)
def wahaha():
    time.sleep(0.1)
    print("哇哈哈")

@timmer_out(FLAG)
def erguotou():
    time.sleep(0.01)
    print('二锅头')

wahaha()

猜你喜欢

转载自www.cnblogs.com/sunnybowen/p/10271349.html