Wraps
完美装饰器在inner前加@wrapps
需要from functools import wrapps
def wrapper(func): def inner(*args, **kwargs): print('begin') ret = func(*args, **kwargs) print('end') return ret return inner @wrapper #func = wrapper(func) def func(a, b): print('main func') return a + b print(func(5, 6)) def wahaha(): ''' 打印wahaha的函数 :return: ''' print('wahaha') print(wahaha.__name__) #输出函数名 print(wahaha.__doc__) #输出函数注释 print(func.__name__) from functools import wraps def time(f): @wraps(f) def inner(*arg, **kwargs): pass ret = f(*arg, **kwargs) return ret return inner @time def main_func(a, b): """ main_func function :param a: first number :param b: second number :return: a+b """ return a + b print(main_func.__name__) print(main_func.__doc__)

浙公网安备 33010602011771号