写一个类装饰器,并测试,给出代码
时间: 2023-06-04 18:05:22 浏览: 123
好的,以下是一个示例:
```python
def my_decorator(func):
def wrapper():
print("Before function is called.")
func()
print("After function is called.")
return wrapper
@my_decorator
def my_function():
print("Function is called.")
my_function()
```
输出结果将是:
```
Before function is called.
Function is called.
After function is called.
```
这里定义了一个名为 `my_decorator` 的装饰器函数,它的参数为需要装饰的函数 `func`。在装饰器函数中定义了一个内部函数 `wrapper`,用于在函数调用前后添加一些附加逻辑。然后,将被装饰的函数 `func` 作为参数传递给 `wrapper`,并返回 `wrapper` 函数本身。在函数定义之前使用 `@my_decorator` 将装饰器应用于 `my_function`,使得 `my_function` 被 `my_decorator` 函数所装饰。最后,调用 `my_function` 将会触发装饰器的逻辑并输出相应结果。
阅读全文