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

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)

http://www.gsyq.cn/news/94610.html

相关文章:

  • CAIE认证:一次关于AI认知与思维升级的个人记录
  • Part 02|我为什么开始自己做一套商城系统
  • B站的视频怎么下载到电脑?
  • 21.数据库连接池
  • 放过自己,也放过你的领导
  • Part 03|当客户真的要交付时,我最先考虑的不是技术
  • 我对防抖(Debounce)的一点理解与实践:从基础到立即执行
  • [网鼎杯 2020 青龙组]AreUSerialz(个人记录写题笔记,含PHP反序列化的原理、漏洞成因以及利用技巧)
  • Comsol Multiphysics数值模拟
  • 战网注册后显示无法登录
  • PINBAI平板电脑维修实例
  • 13. django中间件
  • 人工智能之数学基础:离散条件分布和连续条件概率密度
  • 精通 Flutter 网络请求:从基础 GET/POST 到拦截器 + 缓存 + 断点续传的全维度实践
  • 前端最新技术,零基础入门到精通,收藏这篇就够了
  • 前端失业有多严重?
  • 第二章-依赖属性
  • ARM 架构中的数据内存屏障指令 DMB
  • TileLang终极指南:45分钟内打造你的首个高性能GPU算子
  • 窗口相关操作的总结
  • 北京陪诊服务权威推荐榜单 - 品牌排行榜单
  • 2026中专毕业想做出纳,考哪些证书企业比较认可?这些证让你轻松入职!
  • 峰值检测电路
  • 量子计算驱动的分布式云存储系统在数据安全与高效检索中的创新应用 - 教程
  • 从零到一:构建一个实时语音翻译应用(Vue3 + Web Speech API)
  • 基于PyTorch的深度学习基础课程之十:损失函数
  • Spark:革命性的命令行数据可视化工具,让DevOps监控更高效
  • 基于Java的安全生产智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的安全生产智经营理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的安全生产检查统计分析智慧管理系统的设计与实现全方位解析:附毕设论文+源代码