def decorator(func):
时间: 2024-11-09 15:28:47 浏览: 6
overload-decorator:定义装饰器,以leFunc为灵感
装饰器(Decorator)是Python中一种高级技术,它允许你在不修改原函数源码的情况下,给函数添加额外的功能或修改其行为。`def decorator(func)`这样的定义就是一个装饰器函数,它接受一个函数作为输入,并返回一个新的函数。
当你应用这个装饰器到另一个函数上时,例如`@decorator`,实际上就是将原始函数`func`传递给了`decorator`函数并返回的结果。装饰器内部可以访问并修改`func`的行为,比如添加日志、计时、权限检查等功能。
举个简单的例子:
```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.
```
阅读全文