Discuss / Python / 同学(依米乐趣)更优美的答案

同学(依米乐趣)更优美的答案

Topic source

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()


  • 1

Reply