Python中的装饰器是如何作用于函数或类的?
时间: 2024-10-20 12:11:50 浏览: 15
在Python中,装饰器是一种特殊类型的函数,它可以接收另一个函数作为输入并返回一个新的函数,通常在原函数的基础上添加额外的功能或修改其行为。装饰器本质上就是一个“包装器”,它可以在不改变原函数定义的前提下,动态地修改其功能,比如日志记录、性能分析、缓存等。
装饰器的语法通常是使用`@decorator_name`的形式,将装饰器应用到需要增强功能的函数上,例如:
```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() # 输出: Before the function is called. Hello! After the function is called.
```
在这个例子中,`my_decorator`是一个装饰器,它在调用`say_hello`之前和之后添加了额外的打印操作。
阅读全文