1. 首页
  2. 数据库
  3. 其它
  4. Python如何创建装饰器时保留函数元信息

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

上传者: 2020-12-23 02:14:43上传 PDF文件 43.85KB 热度 18次
问题 你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。 解决方案 任何时候你定义装饰器的时候,都应该使用 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
下载地址
用户评论