news 2026/4/8 23:05:32

Python使用装饰器打印 被装饰函数的输入参数和返回值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python使用装饰器打印 被装饰函数的输入参数和返回值
importfunctoolsimportloggingfromtypingimportCallable logger=logging.getLogger(__name__)deflog_io(func:Callable)->Callable:""" 记录工具函数的输入参数和输出的装饰器。 Args: function:要装饰的工具功能 Returns: 带有输入/输出日志记录的包装函数 """@functools.wraps(func)defwrapper(*args,**kwargs):func_name=func.__name__ parms=", ".join([*(str(arg)forarginargs),*(f"{k}={v}"fork,vinkwargs.items())])logger.info(f"function name:{func_name}, in-params:{parms}")resp=func(*args,**kwargs)logger.info(f"function:{func_name}({parms}) response:{resp}")returnrespreturnwrapper

在不修改原函数代码的前提下,自动记录函数被调用时的输入参数和输出结果,便于调试、审计或监控。

使用示例

@log_iodefmultiply(a,b):returna*b multiply(2,3)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 10:01:52

python基于vue的蛋糕商城论坛交流系统的设计与实现django flask pycharm

目录蛋糕商城论坛交流系统设计与实现技术架构与功能模块核心功能实现系统特色与创新点开发与测试开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!蛋糕商城论坛交流系统设计与实现 该系统采用…

作者头像 李华
网站建设 2026/3/27 18:43:24

不锈钢丝杆升降机的优势是什么?

不锈钢丝杆升降机是针对潮湿、腐蚀、卫生要求高的特殊工况设计的机型,核心优势源于不锈钢材质的耐蚀性、卫生性,同时保留了普通丝杆升降机 “大扭矩、高精度、安装灵活” 的基础特性,具体优势可分为以下五大维度:一、超强耐腐蚀防…

作者头像 李华
网站建设 2026/4/3 2:05:50

python基于vue的二手车在线售卖系统的设计与实现django flask pycharm

目录摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 该系统基于Python技术栈,结合Vue.js前端框架,设计并实现了一个功能完善的二手车在线售卖平台。后端采用…

作者头像 李华
网站建设 2026/3/31 21:24:26

转行网络安全工程师:月薪过万需要掌握哪些技能?

转行网络安全工程师:月薪过万需要掌握哪些技能? 一、引言 网络安全工程师薪资可观,不少人想转行进入该领域。要实现月薪过万,需具备扎实的技术能力,本文梳理核心技能要求,帮你明确学习方向。 二、核心硬技…

作者头像 李华
网站建设 2026/3/30 12:17:37

IM SDK选型避坑指南:2026年最新10家服务商稳定性排名

随着移动互联网的不断发展,即时通讯已经广泛应用于各个行业。从日常的社交交流,到金融交易、远程医疗、在线教育等关键业务领域,稳定可靠的IM服务对于保障用户体验和业务的持续运行至关重要。本文将深入剖析2026年主流IM服务商的稳定性情况&a…

作者头像 李华