python函数装饰器
时间: 2023-09-21 17:03:26 浏览: 129
Python 函数装饰器是 Python 中的一种高级编程技术,它可以用来修改函数的行为。装饰器本身是一个函数,它接受一个函数作为参数,并返回一个新的函数。在装饰器中,可以对原函数进行增强,或者是修改其行为。
下面是一个简单的装饰器示例,用于在函数执行前后输出一条日志:
```python
def log_decorator(func):
def wrapper(*args, **kwargs):
print("Function {} is called.".format(func.__name__))
result = func(*args, **kwargs)
print("Function {} is finished.".format(func.__name__))
return result
return wrapper
@log_decorator
def add(x, y):
return x + y
print(add(1, 2)) # 输出:Function add is called. 3 Function add is finished.
```
在这个示例中,`log_decorator` 是一个装饰器函数,它接受一个函数作为参数,并返回一个新的函数 `wrapper`。`wrapper` 函数在执行原始函数之前和之后分别输出一条日志,然后调用原始函数并返回结果。
`@log_decorator` 表示将 `add` 函数传递给 `log_decorator` 函数进行装饰。因此,调用 `add` 函数时,实际上会调用 `wrapper` 函数,从而实现了在函数执行前后输出日志的功能。
阅读全文