Discuss / Python / 交作业

交作业

Topic source

CrRinko

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

借鉴了一下楼下的代码,作了一点小改进

import functools


def log(text):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kw):
            words = text
            if not isinstance(words, (str, int, float)):
                words = 'call'
            print('Begin', words, func.__name__)
            result = func(*args, **kw)
            print('End', words, func.__name__)
            return result
        return wrapper
    if isinstance(text, (str, int, float)):
        return decorator
    else:
        return decorator(text)

  • 1

Reply