9.2 创建装饰器时保留函数元信息

    任何时候你定义装饰器的时候,都应该使用 库中的 装饰器来注解底层包装函数。例如:

    下面我们使用这个被包装后的函数并检查它的元信息:

    @wraps 有一个重要特征是它能让你通过属性 wrapped 直接访问被包装函数。例如:

    属性还能让被装饰函数正确暴露底层的参数签名信息。例如:

    原文: