Sunday Blog

人生是一场刻意练习

Python 装饰器

Python Decorator

无参装饰器 import datetime import time import functools def logger(fn): @functools.wraps(fn) #wrap解决文档、名称问题 def wrapper(*args,**kwargs): """+++Wrapper Function+++""" start=datetime.datetime.now() ret = fn(*args,**kwargs) #add delta=(datetime.datetime.now()-start).total_seconds() print(fn.__name__,delta) return ret return wrapper @logger # add=logger(add) === add=wrapper def add(x,y): """Add Function""" time.sleep(1) return x+y print(add(4,5)) print(add.__name__,add.__doc__) add 1.004984 9 add Add Function 带参装饰器