# 實現裝飾模式的一段程式碼 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