1. 請簡要的描述裝飾器的作用
- 裝飾器是一個函數
- 主要用於爲函數添加額外功能
- 插入日誌
- 性能測試
2. 如何自定義裝飾器
from functools import wraps
def log(flag):
def decorate(func):
@wraps(func)
def _wrap(*args, **kwargs):
try:
if flag:
func(*args, **kwargs)
print('name', func.__name__)
except Exception as e:
print(e.args)
return _wrap
return decorate
@log(True)
def add(a, b, c):
print('sum =', a + b + c)
add(1, 2, 3)
sum = 6
name add