# 实现装饰模式的一段代码 import functools def log(func): @functools.wraps(func) def wrapper(*args,**kw): print('call %s()' % func.__name__) return func(*args,**kw) return wrapper # 把@log放到now()函数的定义处,相当于执行了语句:now = log(now) @log def now(): print('2015-3-25') now() print(now.__name__)
结果:
call now() 2015-3-25 now