码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python数据分析实战-使用装饰器为函数增加异常处理功能(附源码和实现效果)


    实现功能

    使用装饰器增加异常处理功能

    实现代码

    1. # 假设我有一个函数(原函数),可以实现两个数相除
    2. def divide(x, y):
    3. return x / y
    4. res = divide(10, 2)
    5. print(res)
    6. # 定义一个装饰器,使得原函数能够有处理异常的功能
    7. def handle_exceptions(func): # 外层函数:接受一个函数(原函数)作为参数,并返回一个函数(新函数)。
    8. def wrapper(*args, **kwargs): # 里层函数:接受和原函数相同的参数
    9. try:
    10. # 调用被装饰的函数
    11. return func(*args, **kwargs) # 将原来的函数包装在自己功能中,同时添加新的功能
    12. except Exception as e:
    13. # 处理异常的逻辑
    14. # 返回异常信息
    15. return e
    16. return wrapper # 新函数
    17. # 使用@符号+装饰器的名字来使用装饰器,可以在不改变原函数(divide)的情况下增加异常处理的功能
    18. @handle_exceptions
    19. def divide(x, y): # 这是想要装饰的函数(原函数),即实现两个数相除
    20. return x / y
    21. # 也可以使用divide = handle_exceptions(divide)来使用装饰器,可以在不改变原函数(divide)的情况下增加异常处理的功能
    22. # divide = handle_exceptions(divide)
    23. res = divide(10, 0)
    24. print(res)

    实现效果

    本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据挖掘相关科研工作,对数据挖掘有一定认知和理解,会结合自身科研实践经历不定期分享关于python机器学习、深度学习、数据挖掘基础知识与案例。

    致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

    邀请三个朋友关注V订阅号:数据杂坛,即可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。

  • 相关阅读:
    Java File分隔符和 Path分隔符
    vue-cli项目因为webpack版本不兼容运行后报错
    Spring Cloud 网关的配置示例
    Tomcat内存马学习4:结合反序列化注入
    使用 document.documentElement.style 实现主题换肤
    【C/C++】带你快速掌握 使用—增强for(范围for循环)
    Android项目实践(二)——日记本APP(V2)
    boost::bind 不能处理函数重载 (error: no matching function for call to 'bind')
    JavaScript奇淫技巧:清理无效的垃圾代码
    Android13将Settings移植到AndroidStudio中
  • 原文地址:https://blog.csdn.net/sinat_41858359/article/details/132714601
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号