Discuss / Python / 不是吧,不是吧,我这样算耍赖吗?

不是吧,不是吧,我这样算耍赖吗?

Topic source

kobe_garden

#1 Created at ... [Delete] [Delete and Lock User]

装饰器练习:函数调用前后处理其他任务

> 日志执行时间记录

# 设计一个装饰器,打印函数执行的时间
def metric(func):
    @functools.wraps(func)
    def wrapper(*arg, **kw):
        startTime = time.time
        res = func(*arg, **kw)
        endTime = time.time
        print('call [%s], now is [%.4f]' %(func.__name__, endTime-startTime))
        return res
    return wrapper
# 设计在 函数调用前后 进行函数功能增强的装饰器
def logAop(text='execute'):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kw):
            print('begin %s %s' % (text, func.__name__))
            res = func(*args, **kw)
            print('end %s %s' % (text, func.__name__))
            return res
        return wrapper
    return decorator

@logAop()
def printName():
    print('kobe')

@logAop('execute')
def printName1():
    print('kobe1')

printName()
printName1()

  • 1

Reply