python通用装饰器
时间: 2024-05-28 14:07:57 浏览: 270
Python装饰器是一个很强大的概念,它可以用于修改或扩展函数或类的行为。通用装饰器是一种可以用于任何函数或类的装饰器,它的作用是在不修改原函数或类的情况下,增加一些额外的功能或行为。
下面是一个通用装饰器的示例代码:
```python
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Before the function is called.")
result = func(*args, **kwargs)
print("After the function is called.")
return result
return wrapper
```
这个装饰器函数可以接收任何函数作为参数,并返回一个新的函数 wrapper()。这个新函数 wrapper() 会在原函数被调用前后分别输出 "Before the function is called." 和 "After the function is called."。
使用这个通用装饰器可以很方便地给任何函数增加这些输出。例如:
```python
@my_decorator
def say_hello(name):
print("Hello, " + name)
say_hello("John")
```
输出如下:
```
Before the function is called.
Hello, John
After the function is called.
```
这就是一个简单的通用装饰器的示例,你可以根据自己的需求定义其他类型的通用装饰器,例如计时装饰器、缓存装饰器等等。
阅读全文