第五单元 5.3 可控的程序代码:异常处理(课件)-《Python程序设计基础》(高等教育出版社)同步精品课堂
|
37页
|
127人阅读
|
5人下载
精品
内容正文:
第五单元 5.3 可控的程序代码:异常处理
Python程序设计基础
同步精品课堂
高等教育出版社
任务一
了解os模块
任务二
程序异常概述
任务三
异常处理机制
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学目标
一
1、掌握os模块的常用函数
2、了解程序异常的概念
3、理解异常处理的作用
4、掌握基本的异常处理语法结构
教学重难点
二
教学重点:
1、os模块的常用函数
2、异常处理的作用
教学难点:
基本的异常处理语法结构
导入新课
三
异常处理是确保程序在遇到错误或意外情况时能够优雅地处理并继续执行的关键部分。
Python编程中的”异常处理机制“允许程序在遭遇错误或异常情况时,不再简单地崩溃,二十能够智能地做出反应,如提供错误提示、尝试修复问题,或执行备选方案。这种机制增强了程序的稳定性;还能提升用户体验,通过提供清晰的错误反馈或执行替代逻辑,使用户操作更加顺畅。
任务一
了解os模块
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
1、os模块的作用
os 模块是 Python 标准库中的核心模块之一,提供了与操作系统交互的功能,可实现文件 / 目录操作、系统信息获取、调用系统程序等,帮助开发者高效完成与系统相关的编程任务(如管理学生作业文件、获取程序运行路径等)。
os模块是Python标准库中用于与操作系统交互的核心模块。
目录操作
文件管理
程序调用
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
2、os模块的常用函数
os.name:获取系统名称,Windows系统下返回”nt”;Linux/Unix系统下返回“posix”。
os.getcwd():当前工作目录。
os.listdir():列出目录内容。
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
2、os模块的常用函数
os.path.join():安全拼接路径。
os.path.exists():判断路径存在。返回True/False。
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
2、os模块的常用函数
os.mkdir():创建目录。无返回值。
os.remove():删除文件。无返回值。
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
2、os模块的常用函数
函数 作用 示例 返回值
os.name 获取系统名称 os.name 'nt'或'posix'
os.getcwd() 当前工作目录 os.getcwd() 'C:\project'
os.listdir() 列出目录内容 os.listdir('作业') 文件名列表
os.path.join() 安全拼接路径 join('a', 'b.txt') 'a/b.txt'
os.path.exists() 判断路径存在 exists('a.txt') True/False
os.mkdir() 创建目录 mkdir('new_folder') 无
os.remove() 删除文件 remove('old.txt') 无
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
3、实践探究os模块
基础练习一:文件侦探——探索你的电脑
查看桌面有哪些文件/文件夹
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
3、实践探究os模块
基础练习二:创建学习笔记
创建课程文件夹,并在文件夹中创建笔记文件,输入“今天我学习了:
1.os模块的基本使用
2.如何管理文件和文件夹”
任务二
程序异常概述
语法错误是 “写代码时的错误”
新知讲授
四
1、程序异常的概念
程序异常是指Python 程序在运行过程中出现的、偏离正常执行逻辑的意外错误。它与 “语法错误”(代码编写时的格式 / 拼写错误,会导致程序无法启动)不同。
语法错误:写代码时的格式 / 拼写错误(如print写成prit),会导致程序无法启动;
程序异常:代码语法正确,但运行时因输入、运算等问题触发的错误(如输入 “kk” 作为除数),程序启动后才会报错。
例:除法程序中输入 “kk” 作为除数(代码语法正确,但运行时无法将 “kk” 转为整数),程序会触发异常并停止。
语法错误是 “写代码时的错误”
新知讲授
四
2、程序异常的常见原因
用户输入不符合预期
例:除法程序中输入 “kk” 作为除数,触发 “无法将字符串转为整数” 的异常。
运算逻辑违反规则
例:除法运算中除数为 0,触发 “除数不能为 0” 的异常。
访问不存在的资源 / 数据
例:列表lst = [1,2,3]中访问lst[5](索引 5 不存在),触发 “索引越界” 的异常。
语法错误是 “写代码时的错误”
新知讲授
四
3、程序异常的识别
看异常类型
看错误信息
看发生位置
请大家运行这个代码:x = 10 / 0
错误发生在第1行
错误的具体代码
异常类型和详细信息
语法错误是 “写代码时的错误”
新知讲授
四
3、程序异常的识别
异常类型 产生原因 示例
ValueError 值不合法 int("abc")
ZeroDivisionError 除数为零 10 / 0
FileNotFoundError 文件不存在 open("no.txt", "r")
IndexError 索引越界 list[10](列表只有3个元素)
KeyError 字典键不存在 dict["不存在的键"]
TypeError 类型错误 "abc" + 123
NameError 变量未定义 使用未声明的变量
新知讲授
四
4、异常识别练习
IndexError:索引越界
ValueError:值不合法
FileNotFoundError:文件不存在
TypeError:类型错误
任务三
异常处理机制
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
1、异常处理机制的概念
异常处理是指程序运行过程中,对偏离正常业务逻辑的意外 / 异常情况进行捕获、处理的过程。其核心作用是避免程序因异常直接崩溃,让程序能 “优雅地处理错误并继续运行”,是提升程序 “健壮性” 的核心手段之一。
预见性:知道哪里可能出错
可控性:错误发生时程序不崩溃
友好性:给用户清晰的错误提示
异常处理的核心思想:
机位固定:摄像机本身不移动(如不推、拉、摇、移)。
新知讲授
四
2、基本异常处理语法结构
try:
#可能存在异常的代码
except:
#当代码发生异常时,会执行的代码
[else:]
#当代码正常运行时,会执行的代码
[finally:]
#无论try中的代码是否异常,都会执行的代码
必须存在
至少一个
可选
可选
首先执行
发生异常执行
无异常时执行
最后总是执行
新知讲授
四
基础练习一:拯救崩溃的除法程序
怎么让程序遇到‘输入非整数’时,不崩溃,反而提示‘请输入整数’?
新知讲授
四
基础练习二:try-except-else基础结构
在基础练习一的代码基础上,修改代码,用else分离“正常逻辑”,让代码结构更清晰。
新知讲授
四
综合练习:代码填空,完成成绩录入系统的异常处理。
录入学生成绩,输入-1结束录入;
成绩<0:提示“成绩小于0,请重新录入”;
成绩>100:提示“成绩大于100,请重新录入”;
成绩非数字:捕获异常,提示“录入错误”。
师生互动
五
1、os模块的作用是什么
2、程序异常的常见原因有哪些
3、Python中有哪些错误处理机制
答案:
1、os模块提供了与操作系统交互的功能,常用于对目录或文件进行操作。
2、程序代码本身的语法问题,如缺少冒号、关键字拼写错误或未进行缩进等;还有些错误与用户输入有关,如除数为零、试图获取超出索引的列表元素等;还有一些难以预料的错误。
3、Python中有try...except...else...finally..等错误处理机制。
随堂练习
六
1 、在Windows系统下运行os.name,返回的值是( )。
A.windows
B.nt
C.dos
D.win
答案:B
解析:在Windows系统中os.name返回'nt'。
随堂练习
六
2 、os.getcwd()返回的结果类型是( )。
A.列表
B.字符串
C.元组
D.整数
答案:B
解析:os.getcwd()返回当前目录的路径字符串。
随堂练习
六
3 、以下哪个异常表示“除数为零”( )。
A.ValueError
B.ZeroDivisionError
C.ArithmeticError
D.MathError
答案:B
解析:ZeroDivisionError专门表示除零错误。
随堂练习
六
4 、以下哪个os模块函数需要传入路径参数( )。
A.os.name
B.os.getcwd()
C.os.listdir(path)
D.os.system()
答案:C
解析:os.listdir()可以传入路径参数,默认为当前目录。
随堂练习
六
5 、(多项选择题)下列属于异常处理的关键字的有( )。
A.try
B.except
C.else
D.finally
答案:ABCD
解析:这些都是异常处理结构的关键字。
随堂练习
六
6 、(多项选择题)关于try-except结构,以下说法正确的是( )。
A.可以没有except块
B.可以没有finally块
C.else块在无异常时执行
D.except块可以有多个
答案:BCD
解析:except块必须有,否则语法错误。
随堂练习
六
7、(是非选择题)所有程序错误都可以通过异常处理来解决。
A.正确
B.错误
答案:B
解析:语法错误等无法通过异常处理解决。
随堂练习
六
8、(是非选择题)finally语句块在发生异常时不会执行。
A.正确
B.错误
答案:B
解析:finally块无论是否异常都会执行。
随堂练习
六
9、Python中的异常处理机制增强了程序的 ;同时,它还能提升 ,通过提供清晰的 或 ,使用户操作更加顺畅。
答案:稳定性 用户体验 错误反馈 执行替代逻辑
解析:Python中的异常处理机制增强了程序的稳定性;同时,它还能提升用户体验,通过提供清晰的错误反馈或执行替代逻辑,使用户操作更加顺畅。
课堂小结
七
谢谢
$