Discuss / Python / 既满足log又满足log(‘te'x't’)

既满足log又满足log(‘te'x't’)

Topic source
import functools

def log(name):
    if callable(name):
        @functools.wraps(name)
        def wrapper(*args, **kw):
            print('begin call', name.__name__)
            f = name(*args, **kw)
            print('end call', name.__name__)
            return f
        return wrapper
    else:
        def decorator(func):
            @functools.wraps(func)
            def wrapper(*args, **kw):
                print('begin call', name)
                f = func(*args, **kw)
                print('end call', name)
                return f
            return wrapper
        return decorator

你应该加上return wrapper,你不测试下函数的吗,不加都不会出结果


  • 1

Reply