[oeasy]python0144_try的完全体_否则_else_最终_finally

简介: [oeasy]python0144_try的完全体_否则_else_最终_finally

try的完全体  

回忆上次内容  


  • 上次细化了主控程序(main.py)
  • 导入(get_fruits.py)
  • 处理(process.py)
  • 输出(output.py)


  • 使用了 try 结构
  • try
  • except
  • 发现异常就报错


  • 输入部分的错误
  • 应该在 输入部分来报


  • 具体怎么报呢?🤔


完善输入  


  • 输入的时候
  • 应该包括
  • 对于输入内容的验证


  • 于是 再修改代码




添加图片注释,不超过 140 字(可选)



  • 输入代码 分成了
  • 输入 a
  • 输入 b



运行结果  


  • 如果 输入错误数据
  • 会在get_fruits.py中报错




添加图片注释,不超过 140 字(可选)



  • 如果 输入正确
  • 没有输出 确认信息




添加图片注释,不超过 140 字(可选)


继续修改  


添加图片注释,不超过 140 字(可选)



  • 测试通过



添加图片注释,不超过 140 字(可选)



  • 这里面有个 else
  • 应该如何理解呢?



查询帮助  


添加图片注释,不超过 140 字(可选)



  • 在游乐场帮助 里面有关于
  • try 的比较明确的介绍




添加图片注释,不超过 140 字(可选)


else  


  • else的意思是否则
  • 就是没有发现异常时执行的


  • else 是一个可选(optional)子句
  • 如果try中发现了指定异常
  • 就从try中发现错误的位置跳出来
  • 只执行except部分
  • 不执行else部分


  • 如果try中没有发现指定的异常
  • 在执行完try中的内容之后
  • 不执行 except 部分
  • 只运行 else 部分





添加图片注释,不超过 140 字(可选)



  • 每个输入部分 都包括  
  • 提示和输入
  • input(“xxx”)


  • 尝试转化为整型数字
  • try
  • int


  • 异常处理
  • except


  • 无异常输出
  • else



  • try 语句当中  
  • 除了 else 之外
  • 还有 finally



综合一下  


  • 这就是 try 的完全体



添加图片注释,不超过 140 字(可选)



  • 注意!
  • 都要有英文半角的冒号
  • 都要通过 4 个字符的缩进控制范围



finally  


  • finally如果存在
  • 他是一个收尾的语句




添加图片注释,不超过 140 字(可选)



  • try 之后
  • 要么 except
  • 要么 else
  • 无论是except 还是 else
  • 最后 总要执行finally



  • 如果执行过程中
  • 还有任何的异常
  • 但是这个异常没有被处理
  • 那么就把这个异常先存着
  • 等待finally执行之后
  • 再抛出这个异常


  • 如果遇到return break continue之类强制跳转语句
  • 这个异常就被忽略了



  • 这如何理解?
  • 新建一个test.py进行测试


理解finally  


  • try里面有一个ValueError
  • 不执行后面的d = i / 0
  • 跳到except




添加图片注释,不超过 140 字(可选)



  • except中
  • 没有ValueError的处理办法
  • ValueError没有被处理
  • 于是ValueError就存着


  • 由于出现了异常
  • 已经进入了except
  • 无法进入else


  • 最后进入finally执行
  • 输出了At Last


  • 执行外finally语句块
  • 才把这个ValueError最后抛出来




添加图片注释,不超过 140 字(可选)



  • 这就是finally的执行逻辑
  • 回到main.py


整体结构  


  • 这个结构就是
  • 典型的面向过程程序设计方法




添加图片注释,不超过 140 字(可选)



  • 有一个主要的流程控制模块 main.py
  • 就像python语言这个声明
  • 有一个主要的决策者Guido一样




仁慈的独裁者  


  • 彻底的仁慈
  • 意味着 没有主见和行动力下降


  • 彻底的独裁
  • 则会 失去广泛的帮助




添加图片注释,不超过 140 字(可选)



  • 仁慈和独裁像
  • 是矛盾的两面
  • 但是Guido却很好地平衡了两者


  • 除了Guido之外
  • 很多开源项目的老大
  • 也有类似的特性





添加图片注释,不超过 140 字(可选)



  • Guido是如何成长的呢?


扩展视野  


  • Guido 利用假期去美国做一些WorkShop
  • 美国硅谷是当时it的潮头




添加图片注释,不超过 140 字(可选)



  • 很早接触到了
  • 互联网的发展趋势



互联网  


  • Guido做了一个浏览器grail



添加图片注释,不超过 140 字(可选)


网络集聚  


  • 网络的能量越来大
  • 这为python的发展做了很好的准备
  • 媒介
  • 从报纸、杂志、电视
  • 发展到邮件、论坛和浏览器





添加图片注释,不超过 140 字(可选)



  • 有人 就有 应用
  • 有应用 就更有 人
  • 于是会形成 正反馈
  • 有了社区 就会有更多的人 加入社区


  • 其实学编程 也是一样
  • 越熟练 就会越自信
  • 越自信 也就会越熟练



总结  


  • 我们了解了 try 的完全体
  • try
  • 尝试运行


  • except
  • 发现异常时运行的代码块


  • else
  • 没有发现异常时运行的代码块


  • finally
  • 无论是否发现异常最终都要运行的代码块





添加图片注释,不超过 140 字(可选)



  • 发现导入部分
  • 可以再分为两个子模块
  • 一个输入 a
  • 一个输入 b


  • 可以再拆分么?🤔
  • 我们下次再说!👋
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython


目录
相关文章
|
2月前
|
Python
在Python中,`finally`子句
【4月更文挑战第5天】Python的`finally`子句确保在`try`/`except`块中,无论是否抛出异常,特定代码都会执行,常用于资源清理。示例展示了如何处理文件I/O异常并保证文件关闭。即使`try`或`except`块中有`return`、`break`或`continue`,`finally`块仍会执行,其内的返回值会覆盖`try`块的返回值。
40 4
在Python中,`finally`子句
|
2月前
|
Python
在Python中,`else`子句
【4月更文挑战第5天】Python中的`else`子句常与`if`、`elif`及循环配合使用,表示当条件不满足或循环正常结束时执行的代码块。例如,与`if`结合,当条件为假时执行;与`if-elif`结构搭配,所有条件都不满足时执行;与`for`或`while`循环一起,循环未被`break`中断时执行。
33 2
在Python中,`else`子句
|
2月前
|
程序员 开发工具 Python
[oeasy]python017_万行代码之梦_vim环境_复制粘贴
在这个教程中,作者分享了如何在 Vim 编辑器中快速创建和操作大量代码行。首先,通过 `yy` 复制一行,然后使用 `p` 粘贴来增加代码行数。通过反复粘贴,可以迅速生成多行代码。为了加快操作,可以用 `9999p` 来一次性粘贴9999行。接着,介绍了撤销(`u`)和重做(`ctrl+r`)的操作,以及删除整篇文档的快捷方式。最后,作者提到虽然可以生成一万行代码,但并不建议这样做,因为可能会导致程序崩溃,并提醒大家适度编程。
82 2
|
2月前
|
缓存 Shell 开发工具
[oeasy]python0012_程序写错了怎么办
这段内容主要讲述了如何处理Python文件运行时的`NameError`。首先,使用`vi`编辑器
40 0
|
7天前
|
缓存 Shell 开发工具
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
16 5
|
19天前
|
开发者 Python
在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行
【6月更文挑战第26天】在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行。基本结构包括尝试执行可能抛出异常的代码,然后指定`except`来捕获特定或任何类型的异常。`else`块在`try`无异常时执行,`finally`块确保无论是否发生异常都会执行,例如用于清理。可以使用`raise`重新抛出异常,而自定义异常则允许创建特定的错误类。这种机制增强了代码的健壮性。
35 7
|
27天前
|
Python
【随手记】python语言的else语句在for、while等循环语句中的运用
【随手记】python语言的else语句在for、while等循环语句中的运用
25 2
|
1月前
|
并行计算 异构计算 Python
python代码torch.device("cuda:0" if torch.cuda.is_available() else "cpu")是什么意思?
【6月更文挑战第3天】python代码torch.device("cuda:0" if torch.cuda.is_available() else "cpu")是什么意思?
90 4
|
28天前
|
开发工具 Python
[oeasy]python0021_宝剑镶宝石_爱之石中剑_批量替换_特殊字符_特殊颜色
在这个文本中,作者描述了一个逐步修改Python游戏`game.py`的过程,以将小丑的眼睛和石中剑的图形替换为爱心符号,并且将其颜色更改为红色。以下是内容的摘要: - 用户回顾了之前对`game.py`的分析和理解。 - 通过使用方向键和编辑模式,在代码中找到了小丑眼睛和石中剑的位置,用爱心符号(❤)替换了它们。 - 如果遇到问题,建议使用最新版的火狐浏览器进行粘贴操作。 - 使用Vim编辑器的命令模式批量替换了剑柄上的数字8为爱心,使整个剑柄充满了爱心。 - 通过插入特定代码,将爱心变为红色,从而得到红色的“爱之大剑”。
17 0
|
2月前
|
人工智能 Linux 开发工具
[oeasy]python018_ 如何下载github仓库_git_clone_下载仓库
在这个文档中,作者讨论了如何继续进行编程学习,特别是关于GitHub的使用。首先,回顾了从编写简单代码到管理大量代码的过程。然后,提到了通过“保存运行一条龙”操作来处理代码,以及GitHub作为全球最大的开源软件平台的重要性。在GitHub上,用户可以找到各种软件项目,包括Linux、Python和Blender等。 作者解释了GitHub的基本操作,如点赞(star)、 fork(复制项目)和watch(关注项目更新)。还介绍了如何下载项目到本地,通过`git clone`命令复制仓库的URL并将其粘贴到终端进行下载。如果遇到问题,可以尝试更换HTTP链接或等待一段时间重试。
202 2