Day27
装饰器(难)
def logger(func):
def wrapper(*args, **kwargs):
# 打印函数开始执行的日志
print(f"Starting {func.__name__} with args: {args}, kwargs: {kwargs}")
# 执行原函数
result = func(*args, **kwargs)
# 打印函数执行结束的日志
print(f"Finished {func.__name__}, returned: {result}")
return result
return wrapper
# 测试示例
@logger
def add(a, b):
return a + b
@logger
def multiply(a, b=1):
return a * b
# 执行测试函数
add(3, 5)
multiply(4, b=2)
multiply(10)
Starting add with args: (3, 5), kwargs: {} Finished add, returned: 8 Starting multiply with args: (4,), kwargs: {'b': 2} Finished multiply, returned: 8 Starting multiply with args: (10,), kwargs: {} Finished multiply, returned: 10
10