当前位置: 首页 > web >正文

python第二十七天

浙大疏锦行-CSDN博客

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

import functoolsdef logger(func):@functools.wraps(func)  # 保留原函数的元信息(如函数名)def wrapper(*args, **kwargs):# 执行前:打印函数名和参数args_repr = [repr(a) for a in args]  # 将位置参数转换为字符串kwargs_repr = [f"{k}={repr(v)}" for k, v in kwargs.items()]  # 将关键字参数转换为字符串all_args = ", ".join(args_repr + kwargs_repr)  # 合并所有参数print(f"[日志] 开始执行 {func.__name__}({all_args})")# 执行原函数并记录返回值result = func(*args, **kwargs)# 执行后:打印返回值print(f"[日志] {func.__name__} 返回: {repr(result)}")return resultreturn wrapper
@logger
def add(a, b):"""计算两数之和"""return a + b@logger
def greet(name, greeting="Hello"):"""打招呼"""return f"{greeting}, {name}!"# 测试函数
print(add(3, 5))
print(greet("Alice", greeting="Hi"))

http://www.xdnf.cn/news/6828.html

相关文章:

  • 吉客云数据集成到金蝶云星空的最佳实践
  • ai agent(智能体)开发 python高级应用4:什么是代理,如何设置squid代理服务器,让crawl4ai 0.6.3 用上代理,获取到数据平权
  • MySQL中表的增删改查(CRUD)
  • 【Win32 API】 lstrcpyA()
  • Python3.12之解决:externally-managed-environment问题(二十九)
  • 薄膜压力传感器主要应用场景
  • STM32外设AD-轮询法读取模板
  • 系统架构设计师案例分析题——web篇
  • 软考 系统架构设计师系列知识点之杂项集萃(61)
  • vue.js中的列表过滤+排序
  • Qt窗口中消除边框的解决方法
  • DAY24元组和OS模块
  • 【mysql】并发 Insert 的死锁问题 第二弹
  • Spring actuator
  • SQLMesh 增量模型从入门到精通:5步实现高效数据处理
  • 云、边、端
  • Echart设置圆饼图pie中间文字排版
  • 物体雅克比、空间雅克比、解析雅克比、几何雅克比
  • JDK 9中对字符串的拼接做了什么
  • 几个正整数常用的位运算操作
  • 获取淘宝商品评论API接口(item_review)返回参数说明。
  • 项目依赖版本修改
  • 浮点数截断法:四舍五入的精确模拟
  • 第三十二节:特征检测与描述-Harris 角点检测
  • 实变函数 第二章 点集
  • 数据结构与算法——单链表(续)
  • NoSQL数据库复习题目要点
  • 北斗导航 | 基于深度学习的卫星导航数据训练——检测识别故障卫星
  • windows编程:LIB和OBJ格式文件解析
  • 【Linux网络】数据链路层