Discuss / Python / 受评论启发,第二题改写

受评论启发,第二题改写

Topic source

4Neutrino

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

def log(arg):
    def dec(func, txt = 'call'):
        @functools.wraps(func)
        def wrp(*args, **kw):
            print('%s %s():' % (txt, func.__name__))
            return func(*args, **kw)
        return wrp

    if callable(arg):
        return dec(arg)
    else:
        return lambda f: dec(f, arg)

@log
def whoru():
    print('i am who i am')
whoru()

@log('EXEC')
def whoru():
    print('i am who i am')
whoru()

  • 1

Reply