Discuss / Python / 试试

试试

Topic source

cacaty

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

def metric(fn):

    @functools.wraps(fn)

    def wrapper(*args, **kw):

        start = time.time()

        result = fn(*args, **kw)

        stop  = time.time() - start

        print('%s executed in %s ms' % (fn.__name__, stop * 1000))

        return result

    return wrapper

cacaty

#2 Created at ... [Delete] [Delete and Lock User]

讨论

def log(text):

    if isinstance(text,str):

        pass

    else:

        func = text

        def wrapper(*args, **kw):

            print('call %s():' % (func.__name__))

            return func(*args, **kw)

        return wrapper

    def decorator(func):

        def wrapper(*args, **kw):

            print('%s %s():' % (text, func.__name__))

            return func(*args, **kw)

        return wrapper

    return decorator


  • 1

Reply