装饰器会改变文档的显示位置
例子1:使用wrap前,输出内函数中的说明文档
def check(fun): """检查权限的装饰器""" def inner(*args, **kwargs): """这里是闭包函数""" print("权限检查--1") fun(*args, **kwargs) return inner @check def foo1(): '''这里是原始函数foo1的说明文档''' print("查看用户信息") if __name__ == '__main__': print(foo1.__doc__)
例子2:使用wrap后,输出原始函数中的说明文档
import functools def check(fun): """检查权限的装饰器""" @functools.wraps(fun) def inner(*args, **kwargs): """这里是闭包函数""" print("权限检查--1") fun(*args, **kwargs) return inner @check def foo1(): '''这里是原始函数foo1的说明文档''' print("查看用户信息") if __name__ == '__main__': print(foo1.__doc__)