给某个函数加装饰器
时间: 2023-07-06 16:23:05 浏览: 42
好的,你可以使用 Python 中的装饰器来给函数添加额外的功能。装饰器是一个函数,它接受一个函数作为参数并返回一个新函数。下面是一个简单的示例代码:
```python
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
```
这段代码中,我们定义了一个装饰器函数 `my_decorator`,它接受一个函数作为参数 `func`,并返回一个新的函数 `wrapper`。在 `wrapper` 函数中,我们可以添加一些额外的逻辑来扩展原始函数的功能。在这个示例中,我们在调用原始函数 `func` 前后分别输出了一些文本。
最后,我们使用 `@my_decorator` 语法将装饰器应用到函数 `say_hello` 上。这等价于执行 `say_hello = my_decorator(say_hello)`,即将 `say_hello` 函数作为参数传递给 `my_decorator` 函数,并将返回的新函数重新赋值给 `say_hello` 变量。调用 `say_hello()` 时,会先执行 `my_decorator` 函数返回的 `wrapper` 函数,再执行 `say_hello` 函数本身。