python 函数装饰器
时间: 2023-09-12 12:11:15 浏览: 103
函数装饰器是一种特殊的函数,用于修改其他函数的行为。它们通常用于在不修改原始函数代码的情况下添加额外的功能或修改函数的行为。
在Python中,函数装饰器是使用@符号定义的,紧跟着装饰器函数的定义。装饰器函数接受一个函数作为参数,并返回一个新的函数。新函数可以调用原始函数,并在调用前后执行额外的逻辑。
以下是一个简单的示例,说明如何使用函数装饰器:
```python
def my_decorator(func):
def wrapper():
print("Before function call")
func()
print("After function call")
return wrapper
@my_decorator
def my_function():
print("Inside the original function")
# 调用被装饰的函数
my_function()
```
在上面的示例中,`my_decorator` 是一个装饰器函数,它接受一个函数作为参数。`wrapper` 函数是内部定义的函数,它在调用被装饰的函数之前和之后打印额外的信息。通过在 `my_function` 函数上使用 `@my_decorator`,我们将 `my_decorator` 应用到 `my_function` 上。
当调用 `my_function` 时,实际上会调用内部的 `wrapper` 函数,并在调用前后打印额外的信息。
这只是一个简单示例,真正的装饰器可以执行各种复杂的逻辑,例如修改函数的参数或返回值,或者记录日志等。使用装饰器可以帮助我们避免在每个函数中重复编写相同的代码,并使代码更具可维护性和可重用性。
阅读全文