python训练营day27

知识点回顾:

  1. 装饰器的思想:进一步复用
  2. 函数的装饰器写法
  3. 注意内部函数的返回值

作业:

编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)

python 复制代码
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 result
    return wrapper
 
@logger
def multiply(a, b):
    return a * b 
 
multiply(2, 3)  # 调用 multiply 函数,观察日志输出

@浙大疏锦行

相关推荐
程序员敲代码吗5 小时前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
MX_93595 小时前
Spring的bean工厂后处理器和Bean后处理器
java·后端·spring
市场部需要一个软件开发岗位6 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
历程里程碑6 小时前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
weixin_395448916 小时前
mult_yolov5_post_copy.c_cursor_0205
c语言·python·yolo
执风挽^6 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
程序员泠零澪回家种桔子6 小时前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
Z9fish6 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
CodeCaptain6 小时前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
纤纡.6 小时前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python