news 2026/5/9 9:25:44

python装饰器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python装饰器

python装饰器

    • 装饰器示例代码
    • 装饰器应用示例
    • 实战应用示例

装饰器示例代码

def外func(被装饰func):""" 这是一个装饰器示例,展示如何使用中文命名函数和变量。 被装饰func: 这是将被装饰的函数 """def内func(*args,**kwargs):""" 内func 的 Docstring :param args: 一个星号 * 收集位置参数 :param kwargs: 两个星号 ** 收集关键字参数 """print("开始装饰器功能")result=被装饰func(*args,**kwargs)print("结束装饰器功能")returnresultreturn内func

装饰器应用示例

def outer_func(func): def inner_func(*args, **kwargs): print("内函数执行前代码")result=func(*args, **kwargs)print("内函数执行后代码")returnresultreturninner_func @outer_func def send_email(邮箱地址, 主题, 邮件内容): print(f"Sending email to: {邮箱地址}")print(f"Subject: {主题}")print(f"Body: {邮件内容}")if__name__=="__main__":send_email("test@test.com","测试主题","测试邮件内容.")

实战应用示例

def ssh_D(exec_select_sql_func):""" 用来在SSH隧道中执行SELECT SQL语句的装饰器 exec_select_sql_func: 查询sql的函数""" def wrapper(*args, **kwargs):""" wrapper 的 Docstring :param args: 一个星号 * 收集位置参数 :param kwargs: 两个星号 ** 收集关键字参数""" print("1. 建立SSH隧道连接,并建立动态端口转发")print("2. 切换全局socket到SSH隧道的动态端口")result=exec_select_sql_func(*args, **kwargs)print("4. 关闭SSH隧道连接")returnresultreturnwrapper @ssh_D def execute_select_sql(sql_query):""" 执行SELECT SQL语句的函数 sql_query: 要执行的SQL查询语句""" print(f"3. 内函数 执行SQL查询: {sql_query}")# 模拟查询结果return["结果1","结果2","结果3"]if__name__=="__main__":sql="SELECT * FROM users WHERE age > 30;"results=execute_select_sql(sql)print("查询结果:", results)

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

Part 01|在多个项目之后,我开始对“现成商城系统”产生怀疑

我第一次接触商城系统的时候,其实并没有什么“自研执念”。 相反,那时候我的想法非常朴素: 有现成的,就别自己写。 市面上已经有这么多成熟的商城系统了,不管是开源的、商业化的,还是 SaaS 化的&#xff0c…

作者头像 李华
网站建设 2026/5/9 1:02:42

Part 03|当客户真的要交付时,我最先考虑的不是技术

当事情真正进入“要交付”的阶段时,我才发现,自己关注的重点并不是技术。 那时候,我并没有第一时间去想用什么框架、什么架构, 也没有急着画系统图、列模块清单。 我最先反复确认的,其实不是用什么技术方案&#xff0c…

作者头像 李华
网站建设 2026/5/9 1:02:46

老铁们今天来盘一个硬核项目——西门子S7-1500搞的智能物流分拣系统。这玩意儿不用真机就能玩仿真,博图软件直接开整,HMI动画效果跟真的一样,咱们直接上干货

西门子plc1500控制的智能物流分拣系统 博图触摸屏仿真 不需要实物 自带人机界面,动画,可以仿真 还有接线图原理图 1.设计说明1500 2.程序博图v16 3.cad图纸,说明b78先说说硬件架构,PLC选型必须是1513-1 PN这个经典款,自…

作者头像 李华
网站建设 2026/5/9 2:32:34

【安卓aosp】编译报错 killed 如果处理

[100% 415/415] analyzing Android.bp files and generating ninja file at out/soong/build.ninja FAILED: out/soong/build.ninja cd “KaTeX parse error: Expected EOF, got & at position 49: …soong_build")" &̲& BUILDER"PWD/KaTeX parse …

作者头像 李华
网站建设 2026/5/9 2:20:22

战网注册后显示无法登录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、无法登录二、操作方法默认是美洲,登陆要求是中国,所以点击这个齿轮,找到中国,点击。后面就可以正常登陆了。总…

作者头像 李华
网站建设 2026/5/9 1:02:45

PINBAI平板电脑维修实例

在上次发布了对这台pinbai平板电脑电池不充电故障处理的稿子后,机器又使用了三四个星期。虽然机器工作运行基本正常,但是机器外壳发热严重,电池存不住电量的故障越来越明显。以至于最近,不但开机时甚至关机后也一定要连上充电器&a…

作者头像 李华