Discuss / Python / 大概就是这样了,用条件判断下

大概就是这样了,用条件判断下

Topic source

CabinZhao

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

def log(param):
    if hasattr(param,'__call__'):
        @functools.wraps(param)
        def warpper(*args, **kw):
            print('begin call')
            _rsFunc = param(*args, **kw)
            print('after call')
            return _rsFunc
        return warpper
    else:
        def decorator(func):
            @functools.wraps(func)
            def wrapper(*args, **kw):
                print('begin call')
                print(param)
                _rsFunc = func(*args, **kw)
                print('after call')
                return _rsFunc
            return wrapper
        return decorator

  • 1

Reply