💻
计算机
Python装饰器原理
问题描述
Python中的装饰器是如何工作的?请举例说明其实现原理。
问题解答
装饰器本质是接收函数作为参数的高阶函数。原理示例:
```python
def logger(func):
def wrapper(*args):
print(f'Calling {func.__name__}')
return func(*args)
return wrapper
@logger
def add(x, y):
return x + y
```
执行`add(2,3)`时会先打印日志再计算,实际调用的是logger返回的wrapper函数。