functools.wraps 是 Python 中的一个装饰器,用于装饰另一个装饰器,使其保留被装饰函数的元数据,如函数名、文档字符串等。这在编写装饰器时非常有用,因为装饰器会改变被装饰函数的属性,使得调试和文档生成变得困难。
使用示例
以下是一个没有使用 functools.wraps 的装饰器示例:
def my_decorator(func):
def wrapper(*args, **kwargs):
"""decorator"""
print('Calling decorated function...')
return func(*args, **kwargs)
return wrapper
@my_decorator
def example():
"""Docstring"""
print('Called example function')
print(example.__name__, example.__doc__)
3/1/25About 1 min