装饰器
例:
import datetime
import time
from functools import update_wrapper
class Logger3:
'''this is logger3'''
def __init__(self,fn):
self.fn = fn
update_wrapper(self,fn)
def __call__(self, *args):
start = datetime.datetime.now()
self.fn(*args)
delta = (datetime.datetime.now() - start).total_seconds()
print(delta)
@Logger3 #foo3 = Logger3(foo3) 类似于 a = A(add)
def foo3(x, y):
'''this foo3'''
time.sleep(1)
print(x+y)
foo3(1,2)
print(foo3.__doc__)
print(foo3.__name__)