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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1159257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应届生安全就业:优先选这 3 类岗位,入门易 + 晋升快

应届生安全就业:优先选这 3 类岗位,入门易 晋升快 “投了 20 份渗透测试简历石沉大海,明明背了 OWASP Top 10 却连面试都没有;看到‘安全架构师’岗位心痒痒,要求 5 年经验直接劝退;好不容易拿到面试&…

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

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

网络安全岗位扫盲:5 类适合转行的入门岗位(附技能清单)

网络安全岗位扫盲:5 类适合转行的入门岗位(附技能清单) “做了 3 年 Java 开发,想转安全却不知道选‘渗透测试’还是‘安全开发’;运维出身,看招聘要求全是‘熟悉 ATT&CK 框架、掌握漏洞利用’&#xf…

零基础学 Web 渗透测试?全流程拆解,一篇吃透从入门到精通!

对于零基础想要入门Web渗透测试的学习者来说,最头疼的莫过于面对繁杂的工具、晦涩的术语和毫无头绪的操作流程,要么盲目跟风乱学工具,要么未理清规则就贸然尝试,不仅学不到核心技能,还可能触碰法律红线。**其实Web渗透…

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

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

性能测试调优在提升应用响应速度中的作用

随着科技的发展和互联网的普及,人们对于应用程序的响应速度要求越来越高。无论是网页加载还是移动应用程序的启动,一个快速响应的应用程序可以给用户带来更好的体验,提高用户满意度和留存率。在这个背景下,性能测试调优成为了提升…

零基础也能赚赏金?SRC 漏洞挖掘全技巧,一篇吃透从入门到变现!

SRC漏洞挖掘技巧,带你零基础入门到精通赏金! 前言 经常会有粉丝朋友私信我,想探究一下国内的SRC(安全响应中心)平台究竟支持了多少白帽黑客的生活?又有多少白帽黑客能够不依赖于传统工作,全职…

转行网络安全:从程序员转安全工程师的经验分享

转行网络安全:从程序员转安全工程师的经验分享 一、引言 从程序员转行网络安全工程师(如应用安全工程师、代码审计工程师)是近年来的热门方向,程序员具备的代码基础、逻辑思维和项目经验,能成为转行安全的核心优势。但…

网安人才缺口 480 万!选对这几个专业,直接锁定未来高薪赛道!

网安人才缺口高达 480 万!选对这些专业,未来直接踩中高薪赛道! 9月16日,工业和信息化部教育与考试中心等部门联合发布《AI 时代网络安全产业人才发展报告(2025)》。报告指出,2025年全球网络安全…

网络安全认证推荐:适合转行和大学生的 3 个认证

网络安全认证推荐:适合转行和大学生的 3 个认证 一、引言 网络安全认证是证明个人技能、提升就业竞争力的重要凭证,尤其对转行人群和大学生而言,优质的认证能快速弥补专业背景差距,帮助进入行业。本文精选 3 个适合零基础入门、性…

Git 完全指南:从入门到精通

Git 完全指南:从入门到精通 本文详细介绍 Git 版本控制系统的使用方法,涵盖基础概念、日常操作、分支管理、团队协作等核心内容。 文章目录 Git 完全指南:从入门到精通1. Git 简介1.1 什么是 Git?1.2 Git vs 其他版本控制系统 2. …

企业在启用域名前,必须核查哪些信息?

对企业来说,域名并不只是一个访问入口,而是品牌、业务和合规的重要组成部分。很多问题并不是上线后才出现,而是在启用域名前就已经埋下隐患。结合实际案例,企业在使用域名之前,至少要重点核查以下几类信息。第一&#…

JBoltAI 4.0 智能数据中心:多源数据统一管理的技术

在AI应用开发过程中,数据层的碎片化问题一直是制约效率的核心瓶颈非结构化的文档、网页内容,结构化的数据库表数据,轻量化的Excel表格,以及关系型的知识图谱数据,往往分散在不同的存储载体和管理系统中。这种分散性不仅…

如何选择适合的滚珠丝杆升降机材质

选择滚珠丝杆升降机的材质,核心原则是 “按工况需求匹配性能,兼顾强度、耐磨性、耐腐蚀性,最后平衡成本”,重点要盯紧丝杆、螺母、蜗轮蜗杆、机壳这四大核心部件。下面拆解成通俗易懂的选型方法,不管是给客户推荐还是自…

从数据到场景:AI应用中台的“单点突破+持续拓展”实践路径

在AI应用开发领域,“数据管理”与“场景落地”的脱节,一直是制约技术落地效率的核心问题很多框架要么只解决数据的集中存储,要么只提供单一的场景功能,很难实现“数据-场景”的无缝衔接。而真正能贴合业务需求的AI工具&#xff0c…

从基础能力到智能应用:AI框架的“能力拼图”搭建逻辑

在AI应用开发中,“功能堆砌”和“能力协同”是完全不同的两个概念——很多工具看似覆盖了不少功能,但各模块之间相互独立,很难组合出复杂的智能应用;而真正能支撑落地的框架,往往是先把基础能力做扎实,再通…

`i` 和 `e` 写反引发的血案:当 AI 的“纠错癖”遇上 NexusContract 的“照妖镜”

i 和 e 写反引发的血案:当 AI 的“纠错癖”遇上 NexusContract 的“照妖镜”摘要:在对接某头部支付网关时,我遭遇了一次完美的“降维打击”。官方文档里一个把 ei 写成 ie 的英语语法错误,骗过了 AI 的语法检查,也骗过…

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

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

2026年零基础转行网络安全:大学生必看的入门学习路线

零基础转行网络安全:大学生必看的入门学习路线 一、引言 如今网络安全人才缺口大,不少大学生想零基础转行。但无清晰路线易走弯路,本文整理适合大学生的入门路径,帮你高效入门。 二、分阶段学习路线 (一&#xff09…

国外研究文献网站的高效使用指南与资源检索策略

刚开始做科研的时候,我一直以为: 文献检索就是在知网、Google Scholar 里反复换关键词。 直到后来才意识到,真正消耗精力的不是“搜不到”,而是—— 你根本不知道最近这个领域发生了什么。 生成式 AI 出现之后,学术检…