Discuss / Python / 作业

作业

Topic source

桑桑喵喵i

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

# 调用方式@log 或者 @log('xxxx')
def log(args):
    text = "" if callable(args) else args
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kw):
            print('before')
            return func(*args, **kw)
        return wrapper
    return decorator(args) if callable(args) else decorator

# 测试
@log('xxx')
def test1():
    print('func1')

@log
def test2():
    print('func2')

  • 1

Reply