import functools
def log(arg): def decorator(func=arg): text = 'run' if func==arg else arg @functools.wraps(func) def wrapper(*arg, **kw): print('%s %s()'%(text, func.__name__)) return func(*arg, **kw) return wrapper return decorator() if callable(arg) else decorator
@log def now(): print(2017) @log('excute') def now2(): print(2018)
now() now2()
Sign in to make a reply
很难下定决心用微博的
import functools
def log(arg): def decorator(func=arg): text = 'run' if func==arg else arg @functools.wraps(func) def wrapper(*arg, **kw): print('%s %s()'%(text, func.__name__)) return func(*arg, **kw) return wrapper return decorator() if callable(arg) else decorator
@log def now(): print(2017) @log('excute') def now2(): print(2018)
now() now2()