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

网站每天更新多少文章淘宝做网站推广

网站每天更新多少文章,淘宝做网站推广,用wordpress做的商城,商城网站后台模板Python 函数式编程与 OOP 的选择(必看) 在学习 Python 以及编写代码的过程中,作者发现,对于小型项目或简单脚本,并不一定需要使用面向对象编程(OOP),可以通过函数式编程完成任务,代码简洁、易懂…

Python 函数式编程与 OOP 的选择(必看)

在学习 Python 以及编写代码的过程中,作者发现,对于小型项目或简单脚本,并不一定需要使用面向对象编程(OOP),可以通过函数式编程完成任务,代码简洁、易懂,开发较为快速。

如果项目包含较多功能模块、需要管理大量数据或状态,或定义许多相关功能,使用面向对象编程(OOP)将使代码更易于管理和扩展。

本篇文章重点讲解 Python 异常处理机制,如果当前项目不涉及面向对象知识,掌握前面的文章到这一部分即可。后续文章会深入讨论面向对象编程,进一步提升你在项目中的开发能力。如果你觉得当前项目无需 OOP,python入门学到这里足矣。

PS:仅为作者的个人观点,供参考


Python 异常处理详解

在 Python 中,异常处理是指程序在运行时遇到错误时采取的一种机制,目的是防止程序崩溃。异常处理可以帮助开发者捕捉错误并采取适当的行动,从而保证程序的正常运行。

为什么需要异常处理?

  1. 程序稳定性:异常处理使得程序即使遇到错误也能继续执行,而不会突然崩溃。
  2. 错误定位:通过异常处理,能够清晰地记录错误的发生地点,方便排查和修复问题。
  3. 用户体验:错误信息可以被捕捉并友好地提示用户,避免程序因错误直接退出。

Python 异常处理的基本结构

Python 中的异常处理机制使用 tryexceptelsefinally 关键字。

  • try:用于检测可能发生异常的代码块。
  • except:用于捕捉异常,并进行相应的处理。
  • else:在没有异常发生时执行的代码块(可选)。
  • finally:无论是否发生异常,都会执行的代码块(通常用于资源清理,释放文件、数据库连接等)。
    在这里插入图片描述
基本语法结构
try:# 可能会发生异常的代码
except 捕获的异常类型:# 发生异常时执行的代码
else:# 如果没有异常发生,执行此部分代码
finally:# 不论是否发生异常,都会执行此部分代码

异常类型

Python 中有多种内置异常类型,例如:

  • ZeroDivisionError:除以零的错误。
  • ValueError:传入不合适的值时发生的错误。
  • TypeError:数据类型错误。
  • FileNotFoundError:文件未找到错误。
  • IndexError:访问列表元素时下标越界。
  • KeyError:字典中没有指定的键。
  • IOError:输入输出错误(如文件读写失败)。

捕获单个类型的异常

只捕获ZeroDivisionError类型的错误,其他错误则不会捕获


try:x = 10 / 0  #只会捕获这类型的错误
except ZeroDivisionError:print("不能除以零!")

输出示例 因为10不能除以0,所以异常被捕获到:

不能除以零!
解释

捕获代码 x=10/0 捕获异常类型为ZeroDivisionError 如果捕获到异常输出不能除以零!


捕获所有类型的异常

捕获python所有异常,如果有一个错误发生,后续的代码会被跳过


try:x = 10 / 0  #只会捕获这类型的错误1a='错误命名' #上面有错误,这个就被跳过了
except Exception as e:print("捕获到异常",e)

输出示例(因为第一行就错了,就被捕获到异常,直接跳过错误代码后面的代码):

捕获到异常 division by zero
解释

捕获代码 x=10/0 Exception表示捕获所有异常,如果捕获到异常输出捕获到异常和捕获的异常信息


捕获多个异常

你可以通过多个 except 子句来捕获不同类型的异常,或者使用一个 except 捕获所有异常

可理解为elif多条件判断语句


try:x = 10 / 0
except ZeroDivisionError: #捕获ZeroDivisionError错误1print("不能除以零!")
except Exception as e:#捕获所有错误2print(f"发生了一个错误:{e}")

输出示例:

不能除以零!
解释

捕获代码 x=10/0 捕获异常类型为ZeroDivisionError则输出不能除以零! 以及

捕获异常除了ZeroDivisionError之外的所有异常,捕获到异常则输出发生了一个错误:和异常信息

  • except Exception as e 捕获所有异常后,将异常信息赋值给e ;和with有异曲同工之处

elsefinally

  • else:如果没有发生异常,则执行 else 语句块中的代码。else 语句块是可选的。
  • finally:无论是否发生异常,都会执行 finally 语句块中的代码。常用于资源的清理操作,如关闭文件、网络连接等。

try:x = 10 / 2
except ZeroDivisionError:print("不能除以零!")
else:print("没有异常发生,结果是:", x)
finally:print("都执行,不管是否发生异常。")

自定义异常(了解即可)

有时,我们需要根据自己的需求定义异常类型。可以通过继承 Exception 类来创建自定义的异常。

class MyCustomError(Exception):def __init__(self, message):self.message = messagesuper().__init__(self.message)try:raise MyCustomError("这是自定义的错误")
except MyCustomError as e:print(f"捕获自定义异常:{e}")

异常的传递(了解即可)

当一个异常在当前函数中未被捕获时,它会被传递到上一级调用函数,直到被捕获或程序终止。

def func_a():try:1 / 0except ZeroDivisionError:print("ZeroDivisionError caught in func_a")def func_b():func_a()func_b()

典型的异常处理案例

假设我们有一个程序,它要求用户输入两个数字并进行除法操作。我们需要处理用户输入无效数据(如字符串)以及除数为零的情况。

def divide_numbers():try:num1 = float(input("请输入第一个数字:"))num2 = float(input("请输入第二个数字:"))result = num1 / num2except ValueError:print("输入无效!请输入有效的数字。")except ZeroDivisionError:print("除数不能为零!")else:print(f"结果是:{result}")finally:print("程序执行完毕。")# 调用函数进行测试
divide_numbers()

代码解析

  1. 输入与转换:程序要求用户输入两个数字,并将输入的字符串转换为浮动类型。如果输入的内容无法转换为数字,将抛出 ValueError

  2. 除法计算:尝试计算两个数字的商,如果第二个数字为零,则抛出 ZeroDivisionError

  3. 异常捕捉与处理

    • ValueError:当用户输入无效数字时捕获,并给出提示。
    • ZeroDivisionError:当用户尝试除以零时捕获,并给出提示。
  4. else:如果没有发生异常,则输出结果。

  5. finally:无论是否发生异常,都会输出“程序执行完毕”。


总结

  • 异常处理:通过 tryexceptelsefinally 来处理可能发生的错误,保证程序的正常运行。
  • 捕获所有异常:一般最常用Exception捕获所有类型的错误。如果写不同的捕获错误,代码过于冗余
  • 异常类型:Python 提供了丰富的内置异常类型,可以针对不同的错误进行捕获和处理。
  • 自定义异常:可以通过继承 Exception 类来创建自己的异常类型。
  • elsefinally:分别用于无异常时的处理和无论是否发生异常都要执行的代码块。

通过掌握异常处理,我们可以更好地控制程序中的错误,使得程序更加健壮、稳定。

http://www.yayakq.cn/news/78319/

相关文章:

  • 外贸假发网站网站系统建设目标范本
  • 达州做网站的公司郑州官网关键词优化公司
  • 网站视觉规范怎么做wordpress文章转移
  • 梅州做网站多少钱网站的域名和ip地址如何重新解析
  • 权威的网站建设排行榜wordpress 必选插件
  • 如何建设企业网站ppt深圳网站设计(深圳信科)
  • 电子商务大型网站建设律师行业做网站的必要性
  • 游仙区专业网站建设价格网线制作公开课
  • 网站图片分辨率网站系统名称是什么
  • 网站宽屏图片怎么做电子商务网站规划书
  • 一起做单网站怎么样网页设计培训费用
  • 百度做的网站后台怎么建设做3d ppt模板下载网站
  • 网站免费一站二站四站郑州网页设计培训
  • 中标建设集团有限公司 网站如何在网站上做免费代理
  • 郑州php网站开发培训模板之家下载的模板怎么打开
  • 商业网站开发文档免费国外永久域名注册
  • 网站建设都是需要什么网站建设 笔记
  • 建网站用的域名多少钱网页源代码搜索关键字
  • ps怎么做网站一寸的照片携程网站开发
  • 免费网站建设哪个好 - 百度wordpress king
  • 顺义做网站同学网页设计师培训费用图
  • 网站开发工作职责dw建立网站之后怎么做
  • 电子商务网站建设 试卷湖北百度推广电话
  • 石家庄建设企业网站wordpress很慢
  • 建网站空间的详细说明广告图片 海报
  • 网站开发的基本知识做网站哪家公司比较好而且不贵
  • WordPress建站教程 网盘工作绩效测评
  • 心理健康网站建设方案wordpress可以做论坛
  • 柳州正规网站建设加盟唯品会网站开发
  • 索尼电视网页浏览器深圳做关键词优化平台