Discuss / Python / 有参数与唔参数装饰器

有参数与唔参数装饰器

Topic source
def log(*a, **w):
    if isinstance(a[0], type(log)):
        print '%s not params version'%log.__name__
        def wrapper(*args, **kw):
            func = a[0]
            print('call %s():' % func.__name__)
            return func(*args, **kw)
        return wrapper
    else:
        print '%s params version'%log.__name__
        def decorator(func):
            def wrapper(*args, **kw):
                print('call %s():' % func.__name__)
                return func(*args, **kw)
            return wrapper
        return decorator

这样不知道对不对呢,感觉不够简洁,囧~


  • 1

Reply