【python基础知识】Day 27 函数专题2:装饰器
知识点:
- 装饰器的思想:进一步复用
- 函数的装饰器写法
- 注意内部函数的返回值
装饰器教程
作业:
编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)
def logger(func):def wrapper(*args, **kwargs): # args 是元组,kwargs 是字典print(f"开始执行函数 {func.__name__},参数: {args}, {kwargs}")result = func(*args, **kwargs)print(f"函数 {func.__name__} 执行完毕,返回值: {result}")return resultreturn wrapper@logger
def multiply(a, b):return a * b multiply(2, 3) # 调用 multiply 函数,观察日志输出
func.__name__ :按照pep8的约定,在一个变量前后都加上两个下划线代表着这是一个Python内置的变量,是自动创建的。作用返回 func 的名称更详细的可以问AI