知识点回顾
- 装饰器的思想:进一步复用
- 函数的装饰器写法
- 注意内部函数的返回值
作业
编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)
实现示例
以下是一个符合要求的装饰器 logger 的代码示例,展示如何记录函数名、参数和返回值:
def logger(func):
def wrapper(*args, **kwargs):
print(f"开始执行函数{func.__name__}, 参数:{args}, {kwargs}")
result = func(*args, **kwargs)
print(f"返回的函数{func.__name__}, 返回的参数:{result}")
return result
return wrapper
@logger
def mutiple(a, b):
return a * b
mutiple(2, 3)
注意的点:
1、func函数时logger装饰器函数的参数,而wrapper函数是装饰后的函数,就是原函数经过装饰后的样子。
2、**这个符号是解包过程,是指将参数传递给func函数。

被折叠的 条评论
为什么被折叠?



