借鉴了一下楼下的代码,作了一点小改进
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)
Sign in to make a reply
CrRinko
借鉴了一下楼下的代码,作了一点小改进