举一个python装饰器的列子
时间: 2024-02-08 07:40:08 浏览: 102
python 装饰器(示例)
当然可以,Python装饰器是一种高级语法,常用于增强函数的功能或修改函数的行为。例如,下面这个装饰器可以在函数执行前后打印出函数名和参数:
```
def log(func):
def wrapper(*args, **kwargs):
print(f"Calling function {func.__name__} with args {args} and kwargs {kwargs}")
result = func(*args, **kwargs)
print(f"Function {func.__name__} returned {result}")
return result
return wrapper
@log
def add(x, y):
return x + y
add(2, 3)
```
运行上述代码,输出结果如下:
```
Calling function add with args (2, 3) and kwargs {}
Function add returned 5
```
可以看到,装饰器成功地在函数执行前后打印了相关信息,增强了函数的功能。
阅读全文