def log(arg): def decorator_default(func): @functools.wraps(func) def wrapper(*args, **kwargs): print('call %s()' % func.__name__) return func(*args, **kwargs) return wrapper def decorator_with_text(func): @functools.wraps(func) def wrapper(*args, **kwargs): print('call %s(): %s' % (func.__name__, arg)) return func(*args, **kwargs) return wrapper if callable(arg): return decorator_default(arg) elif type(arg) == str: return decorator_with_text else: return @log def fun1(): print('without arg log\n') @log('hahahahahaha') def fun2(): print('with arg log\n') fun1() fun2()
少粘贴了一行
import functools
不过意思到了就好。
if callable(arg):
请问可调用和不可调用是什么意思啊
Sign in to make a reply
一只很肥还在不停吃的狗子