知识点回顾:
- 装饰器的思想:进一步复用
- 函数的装饰器写法
- 注意内部函数的返回值
作业:
编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)
python
def logger(func):
def wrapper(*args, **kwargs):
# 执行前打印日志
print(f"[日志] 开始执行函数: {func.__name__}")
print(f"[日志] 参数: args={args}, kwargs={kwargs}")
# 执行原函数并获取返回值
result = func(*args, **kwargs)
# 执行后打印日志
print(f"[日志] 函数 {func.__name__} 执行完毕")
print(f"[日志] 返回值: {result}")
return result # 返回原函数的返回值
return wrapper
# 示例使用
@logger
def add(a, b):
return a + b
# 测试
add(3, 5)
日志\] 开始执行函数: add \[日志\] 参数: args=(3, 5), kwargs={} \[日志\] 函数 add 执行完毕 \[日志\] 返回值: 8
今天任务重加之今天自己有事情,下次补上这次学习内容。