[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