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 函数,观察日志输出

@浙大疏锦行

相关推荐
YFCodeDream6 小时前
MLLM技术报告 核心创新一览
python·gpt·aigc
SimonKing6 小时前
TeamViewer、向日葵平替?这几款免费远程控制软件,真香!
java·后端·程序员
Json____6 小时前
最近我用springBoot开发了一个二手交易管理系统,分享一下实现方式~
java·spring boot·后端
YuanlongWang6 小时前
C#基础——GC(垃圾回收)的工作流程与优化策略
java·jvm·c#
爱吃生蚝的于勒6 小时前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
毅炼6 小时前
常见排序算法
java·算法·排序算法
自由会客室6 小时前
在 Ubuntu24.04 上安装 JDK 21(Java 21)
java·开发语言
喜欢读源码的小白6 小时前
SpringBoot的启动流程原理——小白的魔法引擎探秘
java·开发语言·spring boot·springboot启动原理
白露与泡影7 小时前
BAT 大厂 java高频面试题汇总:JVM+Spring+ 分布式 +tomcat+MyBatis
java·jvm·spring
Han.miracle7 小时前
数据结构——排序的学习(一)
java·数据结构·学习·算法·排序算法