写一个装饰器,效果是将所有使用这个装饰器的函数名加到一个list中,并标明注释和验证方法
时间: 2024-02-15 07:03:34 浏览: 25
好的,以下是一个实现这个功能的装饰器代码:
```python
def add_to_list(func):
"""
将使用该装饰器的函数名加到一个列表中,并标明注释和验证方法
"""
function_list = []
def wrapper(*args, **kwargs):
function_list.append(func.__name__)
print("函数名:{}".format(func.__name__))
print("注释:{}".format(func.__doc__))
print("验证方法:{}".format(func(*args, **kwargs)))
return func(*args, **kwargs)
wrapper.__name__ = func.__name__
return wrapper
```
使用该装饰器的函数会在执行时将自己的函数名、注释和验证方法添加到一个列表中,同时输出到终端。你可以在需要使用该装饰器的函数上方使用它,例如:
```python
@add_to_list
def add(x, y):
"""
计算两个数的和
"""
return x + y
@add_to_list
def sub(x, y):
"""
计算两个数的差
"""
return x - y
print(add(1, 2))
print(sub(3, 4))
```
执行后,输出的结果如下:
```
函数名:add
注释:计算两个数的和
验证方法:3
函数名:sub
注释:计算两个数的差
验证方法:-1
```
同时,你可以通过查看 `function_list` 变量来查看已经添加到列表中的函数名。