Python如何创建装饰器时保留函数元信息

xinwangzi 16 0 PDF 2020-12-23 02:12:43

问题 你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。 解决方案 任何时候你定义装饰器的时候,都应该使用 functools 库中的 @wraps 装饰器来注解底层包装函数。例如: import time from functools import wraps def timethis(func): ''' Decorator that reports the execution time. ''' @wraps(func) def wrapper(*args, **kwargs): start = ti

用户评论
请输入评论内容
评分:
暂无评论