如何编写Python装饰器同时保留被装饰函数的元信息?
- 内容介绍
- 文章标签
- 相关推荐
本文共计626个文字,预计阅读时间需要3分钟。
问题:你编写了一个装饰器作用在某个函数上,但这个函数的重要信息如名称、文档字符串、注释和参数签名都丢失了。解决方案:任意时候你定义装饰器时,都应使用`fu`来保存函数的原始信息。
问题
你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。
解决方案
任何时候你定义装饰器的时候,都应该使用 functools 库中的 @wraps 装饰器来注解底层包装函数。
本文共计626个文字,预计阅读时间需要3分钟。
问题:你编写了一个装饰器作用在某个函数上,但这个函数的重要信息如名称、文档字符串、注释和参数签名都丢失了。解决方案:任意时候你定义装饰器时,都应使用`fu`来保存函数的原始信息。
问题
你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。
解决方案
任何时候你定义装饰器的时候,都应该使用 functools 库中的 @wraps 装饰器来注解底层包装函数。

