python中装饰器的详细使用方法
时间: 2024-11-05 19:30:37 浏览: 10
python使用装饰器作日志处理的方法
Python装饰器是一种特殊的函数,它允许我们修改其他函数的功能,而无需改变其源代码[^1]。它们通常用于增强函数的行为,比如添加日志、性能测量、输入验证等功能。下面是一个简单的装饰器示例:
```python
# 定义基础装饰器函数
def my_decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
# 使用装饰器
@my_decorator
def say_hello():
print("Hello!")
# 调用函数,会先看到装饰器的输出
say_hello()
```
在这个例子中,`@my_decorator`相当于调用了`say_hello = my_decorator(say_hello)`,也就是说`say_hello`现在实际上是`wrapper`函数,它在原函数前后添加了自己的行为。
更深入地理解,装饰器其实就是一个接收函数作为参数并返回新函数的高阶函数[^2]。装饰器的主要优势在于它的灵活性和复用性。
阅读全文