普通函数

def f():
"""
这是一个用来测试装饰器修复技术的函数
"""
print("哈哈哈")


if __name__ == '__main__':
print("执行的函数名:", f.__name__)
print("函数的注释:", f.__doc__)

# 打印结果
执行的函数名: f
函数的注释: 这是一个用来测试装饰器修复技术的函数

添加装饰器

def wrapper(func):
def inner(*args, **kwargs):
print("在前面执行的代码。。。。")
func()
print("在后面执行的代码...")
return inner


@wrapper
def f():
"""
这是一个用来测试装饰器修复技术的函数
"""
print("哈哈哈")


if __name__ == '__main__':
print("执行的函数名:", f.__name__)
print("函数的注释:", f.__doc__)

# 打印结果
执行的函数名: inner
函数的注释: None

添加装饰器修复技术@wraps

from functools import wraps

def wrapper(func):
@wraps(func)
def inner(*args, **kwargs):
print("在前面执行的代码。。。。")
func()
print("在后面执行的代码...")
return inner


@wrapper
def f():
"""
这是一个用来测试装饰器修复技术的函数
"""
print("哈哈哈")


if __name__ == '__main__':
print("执行的函数名:", f.__name__)
print("函数的注释:", f.__doc__)
# 打印结果

    执行的函数名: f
    函数的注释: 这是一个用来测试装饰器修复技术的函数