你的写法是错误的,对于
@log def f(): print('无参数') f() print(f.__name__)
就会报错,因为认为缺少参数
正确的写法如下:
def log(text): if isinstance(text, (str, int, float)): def decorator(func): @functools.wraps(func) def wrapper(*args, **kw): print('start %s %s():' % (text, func.__name__)) result = func(*args, **kw) print('end %s %s():' % (text, func.__name__)) return result return wrapper return decorator else: func = text @functools.wraps(func) def wrapper(*args, **kw): print('start call %s():' % func.__name__) result = func(*args, **kw) print('end call %s():' % func.__name__) return result return wrapper
请问else语句func=text什么意思
Sign in to make a reply
嘿嘿matrix
你的写法是错误的,对于
就会报错,因为认为缺少参数
正确的写法如下: