Discuss / Python / 可变参数解决log(*text)

可变参数解决log(*text)

Topic source

chenxi

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

def log(*text):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kw):
            if text:
                print('%s %s()' % (text, func.__name__))
            else:
                print('sha ye meiyou')
            return func(*args, **kw)
        return wrapper
    return decorator

@log()
def f():
    print('none')

f() # f = log(f)

@log('execute')
def h():
    pass

h() # f = log('execute')(now)

  • 1

Reply