版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计(慕课版第2版)》教学设计课程名称:授课年级:授课学期:教师姓名:年月第1章Python简介章节第1章Python简介课堂学时1上机学时0教学目标1.专业能力:理解Python的核心特点、版本差异及应用领域,掌握Python开发环境搭建流程(Windows系统),了解Python代码编写规范;2.实战能力:能独立完成Python解释器安装与环境变量配置,使用IDLE编写并运行简单Python程序,初步使用AI编程助手;3.素质能力:培养规范的编程习惯,激发对Python编程的兴趣,建立“AI辅助编程”的学习意识。教学重难点重点:Python3.x的优势、Windows系统下Python环境搭建(安装、环境变量配置)、IDLE的基本使用、单行/多行注释规范;难点:环境变量手动配置、IDLE中多行文法编写与运行、代码缩进规范的理解。教学方法讲授法、演示法、问题驱动法、案例分析教学过程课堂教学(1学时)1.导入(10分钟):-展示TIOBE编程语言排行榜,引出Python的流行趋势,介绍其“优雅、明确、简单”的设计理念;-列举Python典型应用场景(Web开发、人工智能、数据分析等),结合学生熟悉的案例(如抖音推荐、爬虫获取数据)激发兴趣。2.核心知识点讲解(35分钟):-Python版本选择:对比Python2.x与3.x,强调3.x的主流地位及兼容性优势(如中文编码支持);-开发环境搭建:分步讲解Python3.12.x下载(官网地址)、安装步骤(勾选“Addpython.exetoPATH”、自定义安装路径),环境变量手动配置方法(针对未勾选PATH的情况);-第一个Python程序:演示IDLE的启动与使用,编写“人生苦短,我用Python”单行程序及学生信息管理系统功能菜单多行程序,讲解运行方式(F5键);-代码规范:重点讲解单行注释(#)、多行注释(三引号)、缩进规范(4个空格)、命名规范(模块名小写、类名Pascal命名法)。3.AI工具引入(10分钟):-介绍PyCharm中常用AI编程助手(BaiduComate、FittenCode),演示安装流程(Plugins市场搜索安装),说明其代码生成、注释添加、错误排查功能。4.归纳总结(5分钟):-回顾环境搭建关键步骤、代码规范核心要点,通过提问“Python3.x相比2.x的优势是什么?”“环境变量配置的作用是什么?”检验学习效果。教学资源1.教材:《Python程序设计(慕课版)第2版》第1章;2.源码资源:“学生信息管理系统功能菜单”示例代码。作业布置1.完成教材习题1-1至1-5(简述Python官网地址、环境变量配置方法、注释类型等);2.独立完成Python开发环境搭建,使用IDLE编写一个输出个人信息(姓名、专业、爱好)的程序,保存为“[personal_info.py](personal_info.py)”;3.预习第2章输出与输入函数,尝试使用AI工具查询“print函数的多种输出格式”。第2章Python程序基础语法章节第2章Python程序基础语法课堂学时3上机学时1教学目标1.专业能力:掌握print()输出函数、input()输入函数的使用,理解保留字、标识符、变量的概念,熟悉Python三种基本数据类型(数字、字符串、布尔)及类型转换,掌握常用运算符(算术、赋值、比较、逻辑);2.实战能力:能使用输入输出函数实现交互,完成数据类型转换与运算,编写BMI计算、超市抹零结账等简单程序;3.素质能力:培养逻辑思维能力,提升代码的可读性与规范性,学会借助AI工具解决语法疑问。教学重难点重点:input()函数输入数据的类型转换、基本数据类型的区别与转换、算术运算符与逻辑运算符的使用;难点:input()函数输入数字的类型转换(int/float)、浮点数运算精度问题、运算符优先级的应用。教学方法讲授法、案例演示法、分组实操法、问题研讨法教学过程课堂教学(3学时)第1学时:输出与输入函数(60分钟)1.复习导入(5分钟):回顾IDLE的使用与代码规范,提问“如何在Python中输出多行文本?”引出print()函数。2.核心知识点讲解(50分钟):-print()函数:演示多种输出格式(直接输出字符串、输出变量、拼接输出、不换行输出(end参数)、输出到文件);-input()函数:讲解基本用法(提示文字、输入内容为字符串类型),重点演示数字输入的类型转换(int()、float()),结合“获取学生成绩并输出”案例说明;-案例实操:分组编写“根据父母身高预测儿子身高”程序(公式:儿子身高=(父亲身高+母亲身高)×0.54),强调输入数据的类型转换与结果输出格式。3.总结(5分钟):梳理输入输出函数的核心要点,解决分组实操中出现的共性问题(如忘记转换输入类型导致运算错误)。第2学时:数据类型与类型转换(60分钟)1.复习导入(5分钟):通过“输入身高体重计算BMI”案例,引出数据类型的概念(身高为浮点型、体重为浮点型)。2.核心知识点讲解(50分钟):-基本数据类型:分别讲解数字类型(整数、浮点数、复数)、字符串类型(单引号、双引号、三引号、转义字符\n\t)、布尔类型(True/False及数值转换);-类型转换:介绍int()、float()、str()、eval()函数的使用场景,结合“字符串转数字运算”“数字转字符串拼接”案例演示;-案例分析:讲解“模拟超市抹零结账”程序,演示浮点型总金额转换为整型实现抹零的逻辑,解决“非数字字符串转换报错”问题。3.总结(5分钟):对比三种基本数据类型的存储特点与适用场景,强调类型转换的必要性。第3学时:运算符(60分钟)1.复习导入(5分钟):通过“计算两门课程分数差”案例,引出算术运算符的使用。2.核心知识点讲解(50分钟):-算术运算符:讲解+、-、、/、%、//、**的用法,结合“计算平均分”“求幂运算”案例演示,说明除法(/)与取整除(//)的区别;-赋值运算符:介绍=、+=、-=等,演示“累加求和”案例;-比较运算符:讲解>、<、==、!=等,结合“成绩是否及格”判断案例;-逻辑运算符:讲解and、or、not的运算规则,结合“手机店折扣活动”案例(周二10-11点或周五14-15点)演示多条件判断;-运算符优先级:强调“先乘除后加减,括号优先”,通过复杂表达式(3+52==13and10//3==3)讲解运算顺序。3.总结(5分钟):梳理运算符优先级顺序,通过“1+2*3==7”“(1+2)*3==7”对比练习强化记忆。上机教学(1学时)1.实操任务(50分钟):-任务1:编写程序,使用input()函数获取用户姓名、年龄、身高(米)、体重(千克),计算BMI值并输出“XXX,你的BMI为XX.XX”;-任务2:编写程序,判断输入的整数是否为7的倍数或末尾为7,若是则输出“需拍桌子”,否则输出该数字(运用算术运算符、比较运算符、逻辑运算符);-任务3:使用AI编程助手优化任务1的代码,添加输入数据合法性校验(如年龄为正整数、身高体重为正数)。2.答疑与拓展(10分钟):集中解决实操中出现的类型转换错误、运算符使用错误等问题,引导学生使用AI工具排查bug。教学资源1.教材:《Python程序设计(慕课版)第2版》第2章;2.源码资源:BMI计算、超市抹零结账、手机店折扣活动示例代码。作业布置1.完成教材习题2-1至2-8(简述输入输出函数语法、保留字查看方法、数据类型转换函数等);2.完善上机任务1,添加BMI分类判断(偏瘦<18.5、正常18.5-23.9、超重24.0-27.9、肥胖≥28.0),输出对应分类结果;3.预习第3章程序控制结构,尝试使用AI工具查询“if语句的基本用法”。第3章程序的控制结构章节第3章程序的控制结构课堂学时3上机学时1教学目标1.专业能力:理解程序三种基本结构(顺序、选择、循环),掌握if语句、if…else语句、if…elif…else语句的使用,熟悉while循环、for循环及break、continue、pass语句的作用,了解条件表达式与循环嵌套;2.实战能力:能使用选择语句实现多条件判断(如成绩等级划分),使用循环语句实现重复操作(如九九乘法表、黄蓉数学题求解),结合跳转语句优化程序逻辑;3.素质能力:培养结构化编程思维,提升逻辑推理能力,学会借助AI工具编写复杂控制结构程序。教学重难点重点:if…elif…else多分支选择语句、while循环与for循环的应用、break与continue语句的区别;难点:选择语句嵌套、循环嵌套(如九九乘法表)、循环条件的设计(避免死循环)。教学方法讲授法、案例驱动法、实操演练法、小组讨论法教学过程课堂教学(3学时)第1学时:选择语句(60分钟)1.复习导入(5分钟):通过“判断数字正负”案例,引出选择语句的必要性,回顾程序三种基本结构。2.核心知识点讲解(50分钟):-if语句:语法格式,结合“判断数字是否符合黄蓉数学题条件(三三数剩二、五五数剩三、七七数剩二)”案例演示;-if…else语句:语法格式,对比if语句,优化黄蓉数学题案例,添加“不符合条件”提示,讲解条件表达式简化写法(aifa>belseb);-if…elif…else语句:语法格式,结合“学生成绩等级划分”案例(90-100为A、75-89为B等),演示多分支判断;-选择语句嵌套:结合“酒驾判断”案例(酒精含量<20不构成饮酒、20≤含量<80饮酒后驾车、≥80醉酒驾车),讲解嵌套逻辑,强调缩进规范。3.总结(5分钟):梳理三种选择语句的适用场景,通过“判断一个数是否为偶数且大于10”练习强化嵌套逻辑。第2学时:循环语句(60分钟)1.复习导入(5分钟):通过“计算1-100累加和”案例,引出循环语句的作用,对比while循环与for循环的适用场景。2.核心知识点讲解(50分钟):-while循环:语法格式,结合“黄蓉数学题求解(从1开始依次尝试)”案例,强调循环条件的设计(避免死循环);-for循环:语法格式,range()函数使用(start、end、step参数),结合“1-100累加和”“输出10以内奇数”案例演示;-循环嵌套:结合“九九乘法表”案例,演示双层for循环的逻辑(外层控制行数、内层控制列数),讲解缩进与换行;-跳转语句:对比break(跳出整个循环)与continue(跳出本次循环),结合“逢七拍桌子”案例(1-99中跳过7的倍数和末尾为7的数)演示,说明pass语句的占位作用。3.总结(5分钟):梳理while循环与for循环的区别(计次循环用for、条件循环用while),跳转语句的使用场景。第3学时:AI辅助编程与综合案例(60分钟)1.复习导入(5分钟):回顾选择语句与循环语句的核心要点,提出“如何编写用户登录系统(支持3次尝试机会)”问题,引出综合应用。2.AI工具应用(25分钟):-演示使用AI工具编写“用户登录系统”程序,要求:预设用户名和密码,支持3次尝试,失败提示剩余次数,成功则登录并退出循环;-讲解AI生成代码的逻辑(while循环控制尝试次数、if语句判断用户名密码、break语句退出循环),引导学生理解代码结构。3.综合案例讲解(25分钟):-竞猜商品价格案例:演示程序逻辑(定义商品价格、for循环控制10次竞猜机会、if…else语句判断价格高低、break语句猜对退出);-强调程序优化要点(输入数据类型转换、异常处理提示)。4.总结(5分钟):回顾控制结构的综合应用场景,鼓励学生通过AI工具解决复杂逻辑问题。上机教学(1学时)1.实操任务(50分钟):-任务1:编写程序,使用if…elif…else语句根据输入的百分制成绩,输出对应等级(A/B/C/D),并添加输入合法性校验(成绩需在0-100之间);-任务2:使用循环语句编写程序,输出1-100之间所有能被3或5整除的数,使用continue语句跳过其他数;-任务3:使用循环嵌套编写程序,输出倒三角九九乘法表(外层循环倒序控制行数)。2.小组协作与答疑(10分钟):2人一组,互相检查程序逻辑,针对循环嵌套、跳转语句使用问题进行集中答疑,鼓励使用AI工具排查错误。教学资源1.教材:《Python程序设计(慕课版)第2版》第3章;2.源码资源:黄蓉数学题、逢七拍桌子、用户登录系统示例代码。作业布置1.完成教材习题3-1至3-7(简述程序基本结构、选择语句形式、循环语句语法等);2.完善“竞猜商品价格”程序,添加价格范围提示(如“商品价格在1000-5000元之间”),竞猜失败时提示“价格偏高”或“价格偏低”;3.编写程序,使用循环语句计算1!+2!+3!+…+10!(阶乘求和),提交源代码。第4章列表和元组章节第4章列表和元组课堂学时3上机学时2教学目标1.专业能力:理解序列的通用操作(索引、切片、相加等),掌握列表的创建、访问、遍历、添加/修改/删除元素、排序等操作,熟悉元组的特点与基本操作,了解列表推导式与元组推导式的应用;2.实战能力:能使用列表实现数据的动态管理(如学生成绩统计),使用元组保存不可修改的数据(如咖啡名称),运用推导式简化代码;3.素质能力:培养数据结构化思维,提升代码的简洁性与效率,学会借助AI工具快速排查列表/元组操作中的bug。教学重难点重点:列表的增删改查操作、列表遍历(for循环+enumerate函数)、列表推导式的应用、元组与列表的区别;难点:列表切片操作(步长参数)、列表嵌套的访问、元组推导式生成器对象的转换与使用。教学方法讲授法、演示法、分组实操法、成果展示法教学过程课堂教学(3学时)第1学时:序列通用操作与列表基础(60分钟)1.导入(10分钟):通过“歌曲列表管理”案例(添加歌曲、删除歌曲、查看歌曲),引出列表的概念,对比列表与之前学习的字符串、数字类型,强调其“可变序列”特性。2.核心知识点讲解(45分钟):-序列通用操作:讲解索引(正索引、负索引)、切片(start:end:step)、相加(+)、乘法(*)、成员判断(in/notin)、长度/最大/最小元素计算(len()、max()、min()),结合“手机App列表”案例演示;-列表创建:三种方式(直接赋值、空列表、list()函数转换range对象),演示创建学生成绩列表、歌曲列表;-列表访问与遍历:通过索引访问单个元素,直接for循环遍历、for+enumerate函数遍历(输出索引与元素),结合“每日一帖”案例(根据星期数输出励志文字)演示。3.总结(5分钟):回顾序列通用操作的核心方法,通过“如何获取列表的最后一个元素?”“如何截取列表的前3个元素?”提问巩固。第2学时:列表的增删改查与排序(60分钟)1.复习导入(5分钟):回顾列表创建与遍历方法,提出“如何向学生成绩列表添加新成绩?如何修改错误成绩?”引出列表的更新操作。2.核心知识点讲解(50分钟):-列表添加元素:append()(末尾添加单个元素)、extend()(末尾添加多个元素)、insert()(指定位置插入),对比三种方法的适用场景,强调append()的高效性;-列表修改元素:通过索引直接赋值,演示修改学生成绩列表中的错误成绩;-列表删除元素:del语句(按索引删除)、remove()(按值删除)、clear()(清空列表),讲解remove()删除不存在元素的异常处理;-列表统计与排序:count()(统计元素出现次数)、index()(查找元素首次出现索引)、sort()方法(原地排序,reverse参数控制升序/降序)、sorted()函数(生成新列表排序),结合“学生成绩统计”案例演示。3.总结(5分钟):梳理列表增删改查的核心方法,对比sort()与sorted()的区别。第3学时:列表推导式与元组(60分钟)1.复习导入(5分钟):回顾列表排序与统计方法,提出“如何快速生成10个随机数列表?”引出列表推导式。2.核心知识点讲解(50分钟):-列表推导式:三种语法格式(生成指定范围数值列表、根据原列表生成新列表、筛选符合条件的元素),演示生成随机数列表、商品价格打5折列表、价格高于5000的商品列表;-元组基础:创建方式(直接赋值、tuple()函数转换)、访问与遍历(同列表),强调其“不可变序列”特性(不能修改单个元素);-元组修改与推导式:讲解元组的整体替换、连接(+)操作,元组推导式(生成器对象转换为元组或列表),结合“咖啡馆咖啡名称”案例演示;-列表与元组的区别:对比可变/不可变、语法格式、操作方法、访问速度、字典键适用性,总结“需修改数据用列表,数据固定用元组”。3.总结(5分钟):回顾列表推导式的优势(代码简洁)、元组的核心特点,通过“列表和元组的主要区别是什么?”提问检验。上机教学(2学时)1.实操任务(90分钟):-任务1:创建学生成绩列表([98,99,97,100,100,96,94,89,95,100]),完成以下操作:①添加成绩92;②删除成绩89;③修改索引为3的成绩为99;④统计100分的次数;⑤对列表降序排序;⑥使用推导式筛选出90分以上的成绩,生成新列表;-任务2:创建元组保存咖啡馆咖啡名称(('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')),实现以下功能:①遍历元组并输出咖啡名称(格式:“本店提供:XX咖啡”);②将元组转换为列表,添加“拿铁”咖啡,再转换回元组;-任务3:使用列表推导式生成1-20之间的偶数列表,使用元组推导式生成1-10之间的平方数元组;-任务4:使用AI工具优化任务1的代码,添加输入功能(手动输入10个学生成绩),实现成绩的动态管理。2.成果展示与答疑(30分钟):选取2-3组学生展示代码,讲解实现思路,针对列表推导式语法、元组转换问题进行集中答疑。教学资源1.教材:《Python程序设计(慕课版)第2版》第4章;2.源码资源:学生成绩管理、每日一帖、咖啡馆咖啡名称示例代码。作业布置1.完成教材习题4-1至4-8(简述序列结构、索引规则、列表创建方法等);2.模拟QQ运动周报统计:定义4个列表保存每周运动步数,统计每周总步数、最高/最低步数,以及一个月总步数,输出各周数据及月总步数;3.编写程序,使用列表推导式生成1-100之间能被3整除的数列表,使用元组推导式生成包含5个随机数的元组,提交源代码。第5章字典和集合章节第5章字典和集合课堂学时2上机学时2教学目标1.专业能力:理解字典“键值对”存储特性,掌握字典的创建、访问、遍历、添加/修改/删除元素、字典推导式的使用,熟悉集合的创建、增删元素、交集/并集/差集运算;2.实战能力:能使用字典实现数据的关联存储(如学生信息管理:姓名-成绩、姓名-星座),使用集合实现去重、数据筛选(如选课学生统计),运用字典推导式简化代码;3.素质能力:培养“键值对”数据思维,提升数据处理的效率,学会借助AI工具解决字典、集合操作中的复杂问题。教学重难点重点:字典的访问(get()方法)、遍历(items()方法)、字典推导式、集合的去重功能、集合的交并差运算;难点:字典的键的特性(唯一、不可变)、字典推导式的应用、集合运算在实际场景中的使用。教学方法讲授法、案例分析法、分组协作法、问题驱动法教学过程课堂教学(2学时)第1学时:字典基础与操作(60分钟)1.导入(10分钟):通过“通讯录管理”案例(姓名-电话号码),引出字典的概念,对比字典与列表,强调其“无序可变序列”“键值对存储”特性,说明字典通过键访问数据的高效性。2.核心知识点讲解(45分钟):-字典创建:四种方式(直接赋值键值对、dict()函数(zip()映射、键值对参数)、fromkeys()方法创建空值字典),演示创建通讯录字典、学生姓名-星座字典;-字典访问:通过键直接访问(存在键不存在的异常)、get()方法访问(指定默认值,避免异常),对比两种方法,推荐使用get();-字典遍历:items()方法(遍历键值对)、keys()方法(遍历键)、values()方法(遍历值),结合“通讯录查询”案例演示;-字典添加/修改/删除:添加键值对(键不存在时)、修改键值对(键存在时)、del语句删除键值对、pop()方法删除并返回值、clear()清空字典。3.总结(5分钟):回顾字典创建与访问的核心方法,通过“字典的键有什么特性?”“get()方法的优势是什么?”提问巩固。第2学时:字典推导式与集合(60分钟)1.复习导入(5分钟):回顾字典遍历与更新方法,提出“如何快速生成一个包含随机数的字典?”引出字典推导式;提出“如何对选课学生名单去重?”引出集合的概念。2.核心知识点讲解(50分钟):-字典推导式:语法格式(key:valueforvarinrange/zip对象),演示生成随机数字典、根据姓名-星座列表生成字典(添加“座”字);-集合创建:两种方式(直接赋值、set()函数转换列表/元组/字符串),强调集合的“无序”“不重复”特性,演示对重复学生名单去重;-集合增删元素:add()(添加单个元素)、remove()(删除指定元素)、pop()(随机删除元素)、clear()(清空),讲解remove()删除不存在元素的异常处理;-集合运算:交集(&,共同元素)、并集(,所有元素)、差集(-,前者有后者无的元素),结合“学生选课统计”案例(Python选课学生与C语言选课学生的交集、并集、差集)演示。3.总结(5分钟):梳理字典推导式的优势、集合的核心功能(去重、运算),对比字典与集合的区别(字典键值对、集合单元素)。上机教学(2学时)1.实操任务(90分钟):-任务1:创建学生信息字典(键为学号,值为姓名、年龄、Python成绩的字典嵌套),完成以下操作:①添加一名学生信息;②修改某学生的Python成绩;③删除一名学生信息;④遍历输出所有学生的姓名与成绩;-任务2:使用字典推导式生成一个包含6个键(1-6)、值为对应键平方的字典;生成一个根据商品名称(列表)和价格(列表)的字典,价格保留两位小数;-任务3:创建两个集合(Python选课学生集合、C语言选课学生集合),实现以下功能:①统计同时选两门课的学生(交集);②统计参与选课的所有学生(并集);③统计选Python但未选C语言的学生(差集);-任务4:模拟快递取件统计,通过循环向集合中添加取件人员姓名,重复姓名给予提示,输入数字时退出循环,最终输出需要通知取件的人员名单。2.分组协作与答疑(30分钟):3人一组,分工完成任务1-4,互相检查代码逻辑,针对字典嵌套访问、集合运算问题进行集中答疑,鼓励使用AI工具优化代码。教学资源1.教材:《Python程序设计(慕课版)第2版》第5章;2.源码资源:学生信息管理、选课统计、快递取件统计示例代码。作业布置1.完成教材习题5-1至5-7(简述字典特征、字典创建方法、集合操作符号等);2.完善学生信息管理字典,添加“根据Python成绩排序”功能(按成绩降序输出学生信息);3.编写程序,使用集合实现两个列表的去重合并(如列表1=[1,2,3,4],列表2=[3,4,5,6],合并后去重为[1,2,3,4,5,6]),提交源代码。第6章字符串及正则表达式章节第6章字符串及正则表达式课堂学时4上机学时2教学目标1.专业能力:掌握字符串的常用操作(拼接、截取、分割、检索、大小写转换、删除空格、格式化),理解正则表达式基础(元字符、限定符、字符类等),熟悉re模块的常用方法(匹配、替换、分割);2.实战能力:能使用字符串操作处理文本数据(如提取URL、格式化输出信息),使用正则表达式实现复杂文本匹配(如验证手机号、邮箱),结合re模块解决实际问题(如提取IP地址);3.素质能力:培养文本处理思维,提升复杂文本分析能力,学会借助AI工具编写正则表达式。教学重难点重点:字符串格式化(format()方法)、正则表达式基础语法、re模块的match()/search()/findall()方法;难点:正则表达式的复杂模式设计(如身份证号验证)、re模块分组匹配的应用。教学方法讲授法、演示法、案例驱动法、实操验证法教学过程课堂教学(4学时)第1学时:字符串基本操作(60分钟)1.导入(10分钟):通过“文本数据处理”案例(提取网页URL、格式化输出公司信息、清理用户输入的多余空格),引出字符串操作的必要性,回顾字符串的“不可变序列”特性。2.核心知识点讲解(45分钟):-字符串拼接:+运算符(注意类型一致)、join()方法(高效拼接列表元素),对比两种方法的效率;-字符串截取:切片操作(start:end:step),结合“提取URL中的域名”案例演示;-字符串分割:split()方法(指定分隔符、分割次数),演示根据空格、逗号分割字符串;-字符串检索:count()(统计子串出现次数)、find()(查找子串首次出现索引,不存在返回-1)、index()(查找子串,不存在抛出异常)、startswith()/endswith()(判断是否以指定子串开头/结尾)。3.总结(5分钟):回顾字符串基本操作的核心方法,通过“如何统计字符串中某个字符出现的次数?”“如何判断字符串是否以‘http’开头?”提问巩固。第2学时:字符串进阶操作(60分钟)1.复习导入(5分钟):回顾字符串基本操作,提出“如何将用户输入的姓名前后空格清理?”“如何格式化输出学生成绩单?”引出字符串进阶操作。2.核心知识点讲解(50分钟):-大小写转换:lower()(转为小写)、upper()(转为大写),结合“用户名不区分大小写验证”案例演示;-删除空格和特殊字符:strip()(左右删除)、lstrip()(左侧删除)、rstrip()(右侧删除),演示清理用户输入的多余空格、制表符;-字符串格式化:两种方式(%操作符、format()方法),重点讲解format()方法的优势(位置参数、关键字参数、格式指定(对齐、宽度、小数位数)),结合“公司信息格式化输出”案例演示;-案例:模拟超市收款小票格式化输出(商品名称、单价、数量、总价,保留两位小数)。3.总结(5分钟):对比两种格式化方式,推荐使用format()方法,通过“如何格式化输出一个保留3位小数的浮点数?”提问巩固。第3学时:正则表达式基础(60分钟)1.导入(10分钟):通过“文本验证”案例(验证手机号是否合法、邮箱格式是否正确),引出正则表达式的概念,说明其“文本规则描述工具”的核心作用。2.核心知识点讲解(45分钟):-行定位符:^(行开头)、$(行结尾),结合“匹配以‘mr_’开头的字符串”案例演示;-元字符:.(匹配任意字符)、\w(匹配字母/数字/下画线/汉字)、\s(匹配空字符)、\d(匹配数字)、\b(单词边界),结合“匹配以‘mr’开头的单词”案例演示;-限定符:?(零次或一次)、+(一次或多次)、*(零次或多次)、{n}(n次)、{n,}(至少n次)、{n,m}(n到m次),结合“匹配8位QQ号”“匹配1-3位数字”案例演示;-字符类与排除字符:[aeiou](匹配元音字母)、[^a-zA-Z](匹配非字母),结合“匹配中文汉字”([\u4e00-\u9fa5])案例演示;-选择字符与分组:(或)、()(分组),结合“匹配15位或18位身份证号”案例演示。3.总结(5分钟):回顾正则表达式核心元字符、限定符,通过“如何匹配一个以138开头的11位手机号?”提问引导思考。第4学时:re模块应用(60分钟)1.复习导入(5分钟):回顾正则表达式基础语法,提出“如何在Python中使用正则表达式匹配文本?”引出re模块。2.核心知识点讲解(50分钟):-re模块导入:importre语句,说明模块的核心功能(匹配、替换、分割);-匹配字符串:match()(从开头匹配)、search()(整个字符串搜索第一个匹配)、findall()(搜索所有匹配并返回列表),对比三种方法的区别,结合“匹配以‘mr_’开头的字符串”“搜索IP地址”案例演示;-替换字符串:sub()方法(替换匹配的子串),结合“替换文本中的敏感词”案例演示;-分割字符串:split()方法(按正则表达式分割),结合“分割带多种分隔符的字符串”案例演示;-AI工具应用:演示使用AI工具生成复杂正则表达式(如邮箱验证、身份证号验证),说明其简化正则编写的作用。3.总结(5分钟):梳理re模块常用方法的适用场景,通过“match()与search()的区别是什么?”“findall()返回列表的特点是什么?”提问巩固。上机教学(2学时)1.实操任务(90分钟):-任务1:字符串操作练习:①拼接用户输入的姓名、年龄、地址,格式为“姓名:XXX,年龄:XX,地址:XXX”;②提取URL“/python”中的域名“mingrisoft”;③清理用户输入的用户名前后空格,转换为小写;④使用format()方法格式化输出学生成绩单(姓名、Python成绩、C语言成绩,成绩保留1位小数,左对齐,宽度10);-任务2:正则表达式练习:①使用re模块匹配文本中的所有11位手机号;②验证输入的邮箱格式是否合法(如xxx@);③提取文本中的所有IP地址(如[]()、[6](6));④替换文本中的所有“垃圾”“低俗”等敏感词为“***”。2.答疑与拓展(30分钟):集中解决字符串格式化、正则表达式模式设计中的问题,引导学生使用AI工具排查正则表达式错误,拓展正则表达式的高级应用(如分组提取身份证号中的出生日期)。教学资源1.教材:《Python程序设计(慕课版)第2版》第6章;2.源码资源:字符串格式化、手机号匹配、IP地址提取示例代码。作业布置1.完成教材习题6-1至6-8(简述字符串拼接方法、正则表达式元字符、re模块方法等);2.编写程序,实现用户注册功能,验证用户名(长度6-12位,包含字母和数字)、密码(长度≥8位,包含大小写字母和数字)、手机号(11位数字)、邮箱格式的合法性,使用正则表达式实现;3.编写程序,提取一篇英文文章中的所有单词(去重),统计每个单词出现的次数,提交源代码。第7章函数章节第7章函数课堂学时2上机学时2教学目标1.专业能力:理解函数的定义与作用,掌握函数的创建(def关键字)、参数传递(位置参数、关键字参数、默认参数、不定长参数)、返回值(return语句),熟悉递归函数、lambda匿名函数的使用;2.实战能力:能编写自定义函数实现特定功能(如BMI计算、数值求和),灵活运用不同类型参数,使用lambda函数简化代码,编写简单递归函数(如阶乘计算);3.素质能力:培养模块化编程思维,提升代码的复用性与可读性,学会借助AI工具优化函数逻辑。教学重难点重点:函数的定义与调用、参数传递(尤其是不定长参数*args/**kwargs)、return语句的使用;难点:默认参数的陷阱(可变对象作为默认参数)、递归函数的终止条件设计、lambda函数与普通函数的区别。教学方法讲授法、案例演示法、分组实操法、问题研讨法教学过程课堂教学(2学时)第1学时:函数基础(60分钟)1.导入(10分钟):通过“重复代码问题”案例(多次计算BMI、多次求和),引出函数的核心作用(代码复用、模块化),对比“无函数”与“有函数”的代码差异,强调函数的优势。2.核心知识点讲解(45分钟):-函数定义与调用:语法格式(def关键字、函数名、参数列表、函数体、return语句),演示创建“计算BMI”函数,讲解函数调用流程(传参→执行函数体→返回结果);-参数传递:位置参数(按顺序传参)、关键字参数(按参数名传参,可打乱顺序)、默认参数(指定默认值,可省略传参),结合“学生信息输出”函数演示不同传参方式;-返回值:return语句的作用(返回结果、终止函数执行),演示带返回值函数(求和函数)与无返回值函数(打印函数)的区别。3.总结(5分钟):回顾函数定义与调用的关键步骤,通过“函数的参数可以有多个吗?”“return语句可以返回多个值吗?”提问巩固。第2学时:高级函数与应用(60分钟)1.复习导入(5分钟):回顾函数基础用法,提出“如何处理不确定数量的参数?”“如何简化简单函数的编写?”引出高级函数内容。2.核心知识点讲解(50分钟):-不定长参数:*args(接收多个位置参数,返回元组)、**kwargs(接收多个关键字参数,返回字典),结合“多数值求和”“多属性输出”案例演示;-lambda匿名函数:语法格式(lambda参数:表达式),特点(单行、无函数名),适用场景(简单逻辑、作为参数传递),对比普通函数,演示“计算两数乘积”lambda函数;-递归函数:定义(函数调用自身)、终止条件设计(避免无限递归),结合“阶乘计算”“斐波那契数列”案例演示,强调终止条件的重要性;-案例:编写“学生成绩分析”函数,接收不定数量的成绩参数,返回平均分、最高分、最低分。3.总结(5分钟):梳理不同类型函数的适用场景,通过“lambda函数与普通函数的区别是什么?”“递归函数的核心要素是什么?”提问检验。上机教学(2学时)1.实操任务(90分钟):-任务1:编写自定义函数,接收用户姓名、身高、体重,计算BMI并返回“XXX的BMI为XX.XX,属于XX(偏瘦/正常/超重/肥胖)”的字符串,调用函数并输出结果;-任务2:编写带不定长参数的函数,接收多个整数,返回其中偶数的和,分别通过位置参数和关键字参数调用函数测试;-任务3:使用lambda函数结合filter()函数,筛选出列表中的奇数;使用lambda函数结合map()函数,将列表中的数值翻倍;-任务4:编写递归函数,计算n的阶乘(n≥0),添加终止条件判断(n=0或1时返回1),测试n=5、n=10的结果。2.答疑与拓展(30分钟):集中解决默认参数陷阱、递归函数栈溢出等问题,引导学生使用AI工具优化函数(如简化递归逻辑、处理参数异常)。教学资源1.教材:《Python程序设计(慕课版)第2版》第7章;2.源码资源:BMI计算、阶乘递归、不定长参数求和示例代码。作业布置1.完成教材习题7-1至7-6(简述函数定义语法、默认参数使用注意事项、lambda函数特点等);2.完善“学生成绩分析”函数,添加成绩合法性校验(成绩需在0-100之间),返回分析结果字典(包含平均分、最高分、最低分、及格人数);3.编写递归函数,计算斐波那契数列的第n项(n≥1),提交源代码。第8章模块章节第8章模块课堂学时2上机学时2教学目标1.专业能力:理解模块的定义与作用,掌握模块的导入方式(import、from...import、from...import*)、自定义模块的创建与使用,熟悉包的概念与创建,了解第三方模块的安装(pip工具);2.实战能力:能导入Python标准库模块(如math、random)实现功能,创建自定义模块封装工具函数,安装并使用第三方模块(如requests、numpy),通过包管理多模块项目;3.素质能力:培养项目模块化管理思维,提升代码的组织与复用能力,学会借助AI工具查询模块用法。教学重难点重点:模块的三种导入方式、自定义模块的创建与导入、pip工具安装第三方模块;难点:模块导入路径问题、包的__init__.py文件作用、第三方模块的版本兼容性。教学方法讲授法、演示法、实操验证法、分组协作法教学过程课堂教学(2学时)第1学时:模块基础与标准库(60分钟)1.导入(10分钟):通过“功能扩展问题”案例(需要计算三角函数、生成随机数、处理日期),引出模块的概念,说明模块是“函数、类、变量的集合”,Python标准库的作用(提供丰富现成功能)。2.核心知识点讲解(45分钟):-模块导入方式:三种方式对比(import模块名、from模块名import函数/类/变量、from模块名import*),演示导入math模块计算正弦值、导入random模块生成随机数,讲解每种导入方式的优缺点;-标准库模块应用:重点介绍math(数学运算)、random(随机数)、datetime(日期时间)模块的常用函数,结合“生成随机验证码”“计算日期差”案例演示;-模块导入别名:使用as关键字简化模块/函数名(如importnumpyasnp),提高代码可读性。3.总结(5分钟):回顾模块三种导入方式的语法,通过“如何导入math模块并计算圆周率?”“如何生成1-100的随机整数?”提问巩固。第2学时:自定义模块、包与第三方模块(60分钟)1.复习导入(5分钟):回顾标准库模块的使用,提出“如何封装自己的工具函数供多个程序使用?”“如何使用别人开发的第三方功能?”引出自定义模块与第三方模块。2.核心知识点讲解(50分钟):-自定义模块创建与导入:步骤(编写.py文件封装函数/类、在其他程序中导入),演示创建“[mytools.py](mytools.py)”模块(包含BMI计算、求和函数),讲解导入时的路径要求(模块与程序在同一目录);-包的创建与使用:包的定义(包含[__init__.py](__init__.py)文件的文件夹)、作用(管理多个相关模块),演示创建“student”包(包含[score.py](score.py)、[info.py](info.py)模块),讲解包的导入方式;-第三方模块安装与使用:pip工具的作用,演示通过pip安装requests模块(pipinstallrequests),使用requests模块发送网络请求获取网页内容;-AI工具应用:演示使用AI工具查询模块用法(如“math模块计算阶乘的函数是什么?”“requests模块如何发送POST请求?”)。3.总结(5分钟):梳理自定义模块、包、第三方模块的核心流程,通过“创建包的关键文件是什么?”“pip安装第三方模块的命令是什么?”提问检验。上机教学(2学时)1.实操任务(90分钟):-任务1:导入标准库模块,完成以下功能:①使用math模块计算3的阶乘、圆周率(保留4位小数);②使用random模块生成5个1-20的随机整数,去重后排序;③使用datetime模块计算当前日期与2024年1月1日的天数差;-任务2:创建自定义模块“[calc_tools.py](calc_tools.py)”,封装两个函数(计算两数最大公约数、最小公倍数),在另一个程序中导入该模块并调用函数测试;-任务3:创建包“data_process”,包含“[clean.py](clean.py)”(数据清洗函数:去除列表空值)和“[analysis.py](analysis.py)”(数据分析函数:计算列表平均值),编写主程序导入包中的函数并测试;-任务4:使用pip安装第三方模块pandas,导入pandas模块读取本地CSV文件(学生成绩表),输出前5行数据。2.分组协作与答疑(30分钟):2人一组,分工完成任务2-4,互相检查模块导入、包创建是否正确,针对导入路径错误、第三方模块安装失败等问题进行集中答疑。教学资源1.教材:《Python程序设计(慕课版)第2版》第8章;2.源码资源:标准库模块应用、自定义模块、包导入示例代码。作业布置1.完成教材习题8-1至8-5(简述模块导入方式、包的作用、pip工具功能等);2.完善自定义模块“[calc_tools.py](calc_tools.py)”,添加“判断素数”“进制转换”函数,编写测试程序导入并验证;3.安装第三方模块matplotlib,使用该模块绘制1-10的平方数折线图,提交源代码与运行截图。第9章面向对象程序设计章节第9章面向对象程序设计课堂学时3上机学时2教学目标1.专业能力:理解面向对象的核心概念(类、对象、封装、继承、多态),掌握类的定义、对象的创建、构造方法(init)、实例属性与方法、类属性与类方法、静态方法,熟悉继承的实现、方法重写、多态的应用;2.实战能力:能编写自定义类(如学生类、图书类),创建对象并调用属性与方法,实现类的继承与方法重写,利用多态简化代码逻辑;3.素质能力:培养面向对象的编程思维,提升复杂项目的设计与开发能力,学会借助AI工具设计类结构。教学重难点重点:类的定义与对象创建、__init__构造方法、实例属性与方法、继承的实现、方法重写;难点:封装的理解(私有属性与私有方法)、多态的实际应用、类方法与静态方法的区别。教学方法讲授法、案例驱动法、演示法、分组设计法教学过程课堂教学(3学时)第1学时:面向对象基础(类与对象)(60分钟)1.导入(10分钟):通过“现实世界抽象”案例(学生、图书、汽车的共同特征与行为),引出面向对象的核心思想(抽象、封装),对比面向过程与面向对象的编程差异(如“学生成绩管理”:过程式关注步骤,对象式关注学生对象)。2.核心知识点讲解(45分钟):-类的定义:语法格式(class关键字、类名(Pascal命名法)、类体),演示定义“Student”类,说明类是“对象的模板”;-对象的创建:语法格式(对象名=类名()),演示创建多个Student对象,说明对象是“类的实例”;-构造方法__init__:作用(初始化对象属性),语法格式(definit(self,参数)),演示在Student类中定义__init__方法,初始化姓名、学号、成绩属性;-实例属性与方法:实例属性(对象独有的属性,通过self访问)、实例方法(第一个参数为self,访问实例属性),演示在Student类中添加“显示学生信息”“修改成绩”实例方法。3.总结(5分钟):回顾类与对象的关系、init__方法的作用,通过“类和对象的区别是什么?”“self参数的含义是什么?”提问巩固。第2学时:封装、类属性与方法(60分钟)1.复习导入(5分钟):回顾类与对象的基础用法,提出“如何保护对象的敏感属性(如密码)不被直接修改?”“如何定义类共有的属性?”引出封装与类属性。2.核心知识点讲解(50分钟):-封装:通过私有属性(属性名前加双下画线)、私有方法(方法名前加双下画线__)实现,演示在“User”类中定义私有属性__password,提供get_password()(获取密码)、set_password()(修改密码)方法访问私有属性,强调封装的安全性;-类属性与实例属性:类属性(类共有的属性,通过类名访问)、实例属性(对象独有),对比两者的访问方式与作用,演示在Student类中定义类属性“school='明日学院'”;-类方法与静态方法:类方法(@classmethod装饰器,第一个参数为cls,访问类属性)、静态方法(@staticmethod装饰器,无默认参数,与类和对象无关),对比两者的适用场景,演示在Student类中添加类方法“修改学校名称”、静态方法“判断成绩是否及格”。3.总结(5分钟):梳理封装的实现方式、类属性与实例属性的区别,通过“私有属性如何访问?”“类方法和静态方法的核心区别是什么?”提问检验。第3学时:继承与多态(60分钟)1.复习导入(5分钟):回顾类的封装与方法,提出“如何避免重复编写相似类的代码?”(如Student类与Teacher类都有姓名、年龄属性)引出继承的概念。2.核心知识点讲解(50分钟):-继承的实现:语法格式(class子类名(父类名)),演示定义“GraduateStudent”子类继承“Student”父类,说明子类继承父类的属性与方法;-方法重写:子类重新定义父类的方法,实现个性化功能,演示在GraduateStudent类中重写“显示学生信息”方法,添加研究方向属性;-多态:不同子类对同一父类方法的不同实现,通过统一接口调用,演示定义“Animal”父类,“Dog”“Cat”子类重写“call”方法,通过函数统一调用不同子类对象的call方法;-案例:设计“图书管理系统”类结构(Book类、User类、Admin类),演示类的继承与多态应用。3.总结(5分钟):梳理继承与多态的核心作用,通过“继承的优势是什么?”“多态的实现条件是什么?”提问检验。上机教学(2学时)1.实操任务(90分钟):-任务1:设计并实现“Book”类,要求:①包含属性(书名、作者、ISBN、库存量);②包含__init__方法初始化属性;③包含实例方法(借阅图书:库存量减1,需判断库存是否为0;归还图书:库存量加1;显示图书信息);创建3个Book对象并测试方法;-任务2:实现继承与方法重写,要求:①定义“Novel”子类继承Book类,添加“类型(武侠/言情/科幻)”属性;②重写“显示图书信息”方法,包含类型信息;③创建Novel对象并测试;-任务3:实现多态,要求:①定义“Shape”父类,包含“calculate_area”抽象方法(返回0);②定义“Circle”“Rectangle”子类,重写“calculate_area”方法(分别计算圆、矩形面积);③编写函数,接收Shape子类对象,调用calculate_area方法并输出面积;-任务4:使用AI工具优化“Book”类,添加私有属性(如__borrow_count借阅次数),提供访问方法,完善异常处理(如库存不足时借阅失败提示)。2.分组设计与答疑(30分钟):3人一组,展示任务1-3的类结构与测试结果,互相点评,针对继承逻辑、多态实现问题进行集中答疑。教学资源1.教材:《Python程序设计(慕课版)第2版》第9章;2.源码资源:Book类、继承与多态示例代码。作业布置1.完成教材习题9-1至9-7(简述面向对象核心概念、继承实现语法、多态作用等);2.完善“图书管理系统”类结构,添加“Admin”类(继承User类),包含添加图书、删除图书方法,编写主程序模拟图书借阅、归还、添加操作;3.设计“汽车”类体系(Car父类,ElectricCar、GasCar子类),父类包含品牌、价格属性和行驶方法,子类重写行驶方法(分别输出电动/燃油行驶),提交源代码。第10章文件与目录操作章节第10章文件与目录操作课堂学时3上机学时2教学目标1.专业能力:理解文件操作的基本流程(打开-操作-关闭),掌握文本文件与二进制文件的读写方法,熟悉os模块与os.path模块的常用函数(目录创建、删除、遍历、路径处理),了解CSV文件的读写;2.实战能力:能读写文本文件(如保存学生信息、读取配置文件),操作二进制文件(如复制图片、视频),管理目录(创建多级目录、遍历目录下文件),读写CSV格式数据;3.素质能力:培养文件数据的管理思维,提升数据持久化处理能力,学会借助AI工具解决文件路径、编码等问题。教学重难点重点:文件的打开与关闭(with语句)、文本文件的read()/write()方法、os模块的目录操作、CSV文件读写;难点:文件编码问题(UTF-8/GBK)、二进制文件的读写逻辑、目录递归遍历。教学方法讲授法、案例演示法、实操验证法、问题驱动法教学过程课堂教学(3学时)第1学时:文件操作基础(文本文件)(60分钟)1.导入(10分钟):通过“数据持久化问题”案例(程序运行时的学生信息在程序关闭后丢失),引出文件操作的作用(保存数据到磁盘),介绍文件的分类(文本文件、二进制文件)。2.核心知识点讲解(45分钟):-文件操作流程:打开(open()函数)→操作(读/写)→关闭(close()方法),强调close()的重要性(释放资源),推荐使用with语句(自动关闭文件,避免遗漏);-open()函数参数:file(文件路径)、mode(打开模式:r读、w写、a追加、r+读写等)、encoding(编码格式,如utf-8、gbk),演示不同打开模式的区别;-文本文件读取:read()(读取全部内容)、readline()(读取一行)、readlines()(读取所有行返回列表),结合“读取学生信息文本文件”案例演示;-文本文件写入:write()(写入字符串)、writelines()(写入列表),结合“保存学生信息到文本文件”案例演示,说明w模式与a模式的差异(w覆盖、a追加)。3.总结(5分钟):回顾文件操作流程、open()函数参数,通过“with语句的优势是什么?”“w模式和a模式的区别是什么?”提问巩固。第2学时:二进制文件与CSV文件操作(60分钟)1.复习导入(5分钟):回顾文本文件操作,提出“如何复制图片、视频等非文本文件?”“如何规范保存表格数据?”引出二进制文件与CSV文件操作。2.核心知识点讲解(50分钟):-二进制文件操作:打开模式添加“b”(rb读、wb写、ab追加),read()(读取字节数据)、write()(写入字节数据),演示“复制图片”案例(读取原图字节→写入新图);-CSV文件操作:CSV文件格式(逗号分隔值,表格数据),使用csv模块(reader()读取、writer()写入),演示“读取学生成绩CSV文件”“写入学生信息到CSV文件”,说明csv模块处理分隔符、引号的优势;-编码问题:讲解文本文件读写时的编码错误原因(文件编码与读取编码不一致),演示解决方法(指定正确的encoding参数)。3.总结(5分钟):梳理二进制文件与文本文件操作的区别、CSV文件的适用场景,通过“二进制文件打开模式的特点是什么?”“csv模块的核心作用是什么?”提问检验。第3学时:目录操作(os模块)(60分钟)1.复习导入(5分钟):回顾文件操作,提出“如何创建文件夹存放多个文件?”“如何遍历目录下的所有文件?”引出os模块的目录操作功能。2.核心知识点讲解(50分钟):-os模块常用函数:os.mkdir()(创建单级目录)、os.makedirs()(创建多级目录)、os.rmdir()(删除空目录)、os.remove()(删除文件)、os.listdir()(列出目录下文件/目录);-os.path模块常用函数:os.path.exists()(判断路径是否存在)、os.path.isfile()(判断是否为文件)、os.path.isdir()(判断是否为目录)、os.path.abspath()(获取绝对路径)、os.path.join()(拼接路径),结合“判断文件是否存在并删除”“拼接文件路径”案例演示;-目录遍历:使用os.listdir()递归遍历多级目录,结合“查找目录下所有.txt文件”案例演示,讲解递归遍历的逻辑;-案例:编写“文件备份工具”,实现指定目录下所有文本文件的备份(复制到backup目录)。3.总结(5分钟):梳理os模块与os.path模块的核心函数,通过“如何创建多级目录?”“如何判断一个路径是文件还是目录?”提问巩固。上机教学(2学时)1.实操任务(90分钟):-任务1:文本文件操作,要求:①创建文本文件“student.txt”,写入3名学生的信息(姓名、学号、成绩,每行一条);②读取该文件,统计及格人数(成绩≥60)并输出;-任务2:二进制文件操作,要求:①复制一张图片(如test.jpg)到新路径(backup/test_copy.jpg);②读取复制后的图片,验证文件大小与原图一致;-任务3:CSV文件操作,要求:①使用csv模块读取“scores.csv”文件(包含姓名、语文、数学成绩),计算每个学生的平均分并添加到文件末尾;②创建新CSV文件“avg_scores.csv”,写入学生姓名与平均分;-任务4:目录操作,要求:①创建多级目录“data/2024/09”;②遍历当前目录下所有文件,将所有.py文件复制到“data/2024/09”目录;③删除“data/2024/09”目录下大小为0的文件。2.答疑与拓展(30分钟):集中解决文件编码错误、路径拼接错误、目录递归遍历逻辑问题,引导学生使用AI工具编写目录递归遍历代码。教学资源1.教材:《Python程序设计(慕课版)第2版》第10章;2.源码资源:文件复制、CSV读写、目录遍历示例代码。作业布置1.完成教材习题10-1至10-6(简述文件打开模式、os模块目录操作函数、CSV文件读写流程等);2.编写“日志记录工具”程序,要求:①每次运行程序时,将当前时间、运行状态(成功/失败)写入“log.txt”文件(追加模式);②读取“log.txt”文件,输出最近10条日志;3.编写程序,递归遍历指定目录,统计该目录下所有文本文件的总大小(以字节为单位),提交源代码。第11章异常处理与程序调试章节第11章异常处理与程序调试课堂学时2上机学时2教学目标1.专业能力:理解异常的概念与常见异常类型,掌握try-except-else-finally异常处理结构,熟悉程序调试的基本方法(print调试、IDLE调试模式),了解自定义异常的创建;2.实战能力:能在程序中添加异常处理(如文件读取异常、输入数据类型异常),使用调试工具定位并解决代码错误,创建自定义异常处理特定业务场景错误;3.素质能力:培养程序的健壮性思维,提升错误排查与解决能力,学会借助AI工具分析异常信息、定位bug。教学重难点重点:try-except异常处理结构、常见异常类型(SyntaxError、TypeError、FileNotFoundError等)、IDLE调试模式的使用;难点:多except分支的执行顺序、finally语句的作用、自定义异常的应用场景。教学方法讲授法、案例分析法、实操演练法、问题驱动法教学过程课堂教学(2学时)第1学时:异常处理基础(60分钟)1.导入(10分钟):通过“程序崩溃案例”(如文件不存在时读取、输入非数字时转换类型),引出异常的概念(程序运行时的错误),说明异常处理的作用(避免程序崩溃,提供友好提示)。2.核心知识点讲解(45分钟):-常见异常类型:列举Python常见异常(SyntaxError语法错误、TypeError类型错误、ValueError值错误、FileNotFoundError文件不存在错误、IndexError索引错误),结合具体代码示例说明每种异常的触发场景;-try-except结构:基本语法(try块包含可能出错的代码,except块捕获并处理异常),演示“文件读取异常处理”(捕获FileNotFoundError)、“输入数据类型异常处理”(捕获ValueError);-多except分支:处理多种可能的异常,说明执行顺序(从上到下匹配,匹配成功后不再执行其他分支),演示同时捕获FileNotFoundError和ValueError;-else-finally语句:else块(try块无异常时执行)、finally块(无论是否有异常都执行,用于释放资源),结合“文件操作”案例演示(finally块关闭文件,或使用with语句替代)。3.总结(5分钟):回顾常见异常类型、try-except-else-finally结构,通过“else块和finally块的区别是什么?”“多except分支的执行顺序是什么?”提问巩固。第2学时:高级异常处理与程序调试(60分钟)1.复习导入(5分钟):回顾异常处理基础,提出“如何处理特定业务逻辑错误(如年龄小于0)?”“如何定位代码中的隐藏bug?”引出自定义异常与程序调试。2.核心知识点讲解(50分钟):-自定义异常:创建方法(继承Exception类)、触发方式(raise语句),演示创建“AgeError”自定义异常,在输入年龄小于0时触发并处理;-程序调试方法:①print调试(在关键位置打印变量值),演示定位循环逻辑错误;②IDLE调试模式(设置断点、单步执行、查看变量),分步演示调试流程(打开调试模式、设置断点、F10单步执行、F5继续执行);-异常信息获取:使用exceptExceptionase获取异常详细信息,演示输出异常类型与描述,帮助定位错误;-AI工具应用:演示将异常信息复制到AI工具,获取错误原因与解决方案(如“FileNotFoundError:[Errno2]Nosuchfileordirectory”的解决方法)。3.总结(5分钟):梳理自定义异常的创建流程、程序调试的核心方法,通过“自定义异常的继承类是什么?”“IDLE调试中设置断点的作用是什么?”提问检验。上机教学(2学时)1.实操任务(90分钟):-任务1:异常处理练习,要求:①编写程序读取用户输入的文件名,打开并读取文件内容,添加异常处理(捕获文件不存在、权限不足、编码错误),并给出友好提示;②编写程序接收用户输入的两个整数,计算除法,添加异常处理(捕获除数为0、输入非数字异常);-任务2:自定义异常练习,要求:①创建“ScoreError”自定义异常,当输入成绩小于0或大于100时触发;②编写学生成绩录入程序,使用自定义异常处理成绩输入错误;-任务3:程序调试练习,要求:①给定一段有bug的代码(如循环求和逻辑错误、列表索引越界),使用print调试定位bug并修复;②使用IDLE调试模式调试上述代码,观察变量变化过程;-任务4:综合练习,编写“学生信息管理系统”的文件保存功能,添加异常处理(文件写入失败、磁盘空间不足),使用调试工具排查潜在bug。2.答疑与拓展(30分钟):集中解决异常处理逻辑错误、调试模式使用问题,引导学生总结常见bug的排查思路,分享AI工具分析异常的技巧。教学资源1.教材:《Python程序设计(慕课版)第2版》第11章;2.源码资源:异常处理、自定义异常、调试示例代码。作业布置1.完成教材习题11-1至11-5(简述常见异常类型、try-except结构、调试方法等);2.完善“学生信息管理系统”,为所有文件操作、输入输出、数据计算模块添加异常处理,确保程序遇到错误时不崩溃并给出明确提示;3.编写程序,实现用户登录功能(用户名密码从文件读取),添加自定义异常“LoginError”(用户名不存在或密码错误时触发),提交源代码。第12章Pygame游戏编程章节第12章Pygame游戏编程课堂学时1上机学时2教学目标1.专业能力:了解Pygame的核心功能与应用场景,掌握Pygame的安装、窗口创建、图形绘制、颜色设置、事件处理、动画实现、音效播放的基本方法;2.实战能力:能使用Pygame创建简单游戏窗口,绘制基本图形(矩形、圆形、文字),实现简单动画(如物体移动、碰撞检测),编写简易小游戏(如贪吃蛇、打砖块入门版);3.素质能力:培养游戏开发兴趣,提升图形界面与交互逻辑的设计能力,学会借助AI工具生成游戏素材、优化游戏逻辑。教学重难点重点:Pygame窗口创建、图形绘制、事件处理(键盘/鼠标事件)、动画实现(帧刷新);难点:碰撞检测逻辑、游戏帧率控制、事件循环与动画循环的协同。教学方法讲授法、案例驱动法、演示法、分组开发法教学过程课堂教学(1学时)1.导入(10分钟):通过展示Pygame开发的经典小游戏(贪吃蛇、俄罗斯方块),引出Pygame的作用(Python游戏开发库,简化图形、声音、事件处理),激发学生兴趣,介绍Pygame的安装方法(pipinstallpygame)。2.核心知识点讲解(40分钟):-Pygame初始化与窗口创建:pygame.init()初始化、pygame.display.set_mode()创建窗口、pygame.display.set_caption()设置标题,演示创建800×600像素的游戏窗口;-颜色与图形绘制:RGB颜色表示((255,0,0)红色、(0,255,0)绿色等)、基本图形绘制(pygame.draw.rect()矩形、pygame.draw.circle()圆形、pygame.draw.line()直线),演示在窗口中绘制彩色矩形与圆形;-文字绘制:pygame.font.Font()创建字体对象、render()生成文字表面、blit()绘制文字,演示在窗口中显示“Pygame游戏入门”文字;-事件处理:事件循环(pygame.event.get()获取事件)、常见事件(QUIT退出、KEYDOWN键盘按下、MOUSEBUTTONDOWN鼠标点击),演示捕获退出事件与键盘方向键事件;-动画实现:帧刷新(pygame.display.flip())、帧率控制(pygame.time.Clock())、物体移动(修改坐标并重新绘制),演示矩形在窗口中水平移动的动画。3.总结(10分钟):回顾Pygame核心流程(初始化→创建窗口→绘制→事件循环→动画刷新),通过“Pygame窗口创建的核心函数是什么?”“如何实现物体移动动画?”提问巩固,介绍简易贪吃蛇游戏的开发思路。上机教学(2学时)1.实操任务(90分钟):-任务1:Pygame基础操作,要求:①安装Pygame,创建800×600像素窗口,标题为“我的第一个Pygame程序”;②在窗口中心绘制一个红色圆形(半径50),在顶部绘制蓝色文字“HelloPygame!”;-任务2:事件处理与动画,要求:①实现矩形(50×50像素)在窗口中移动,通过上下左右方向键控制移动方向,移动速度为5像素/帧;②添加边界检测,矩形不能移出窗口;③捕获鼠标点击事件,点击窗口时矩形移动到鼠标点击位置;-任务3:简易小游戏开发,要求:①实现“接球游戏”:窗口底部有一个可左右移动的球拍(用矩形表示),顶部掉落小球(圆形);②球拍通过左右方向键控制;③添加碰撞检测,球拍接住小球则小球反弹,小球落地则游戏结束,显示“GameOver”文字;-任务4:优化游戏,要求:①为游戏添加背景色;②为小球和球拍添加不同颜色;③使用AI工具生成游戏音效(如接球成功音效),并集成到游戏中。2.分组开发与展示(30分钟):2-3人一组,分工完成任务3-4,每组展示游戏效果,分享开发思路,针对碰撞检测、帧率控制问题进行集中答疑。教学资源1.教材:《Python程序设计(慕课版)第2版》第12章;2.源码资源:窗口创建、图形绘制、动画实现、接球游戏示例代码。作业布置1.完成教材习题12-1至12-3(简述Pygame初始化流程、图形绘制函数、事件处理方法等);2.完善“接球游戏”,添加以下功能:①小球移动速度随时间递增;②增加多个小球同时掉落;③记录玩家得分(每接住一个小球得1分)并显示;3.尝试开发“贪吃蛇”入门版(蛇身由多个矩形组成,通过方向键控制移动,吃到食物后蛇身变长),提交源代码与游戏截图。第13章网络爬虫章节第13章网络爬虫课堂学时2上机学时2教学目标1.专业能力:理解网络爬虫的基本概念与工作原理,掌握requests模块的使用(发送GET/POST
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 字节跳动cqc外包合同
- 海绵城市精细化施工工艺
- 彩钢瓦更换施工方案
- 车辆维修服务外包合同
- 中级维修电工培训考试试题(含答案)
- 挡土墙及排水工程施工方案
- 食堂管理领导小组及工作职责
- 水厂钢筋保护层控制施工方案
- 矽赫科技AI解决方案
- 保洁绿化项目外包合同
- 垃圾中转站安全操作培训课件
- 汽车维护保养课件教学
- 系统上线后运行情况汇报
- DB45∕T 2479-2022 一般固体废物填埋场水文地质工程地质勘察规范
- 水电站大坝安全现场检查技术规程 -DL-T 2204
- 超声科疑难案例讨论
- 陪诊师培训课件
- 自己是健康的第一责任人
- 《课程与教学论》期末考试题
- 沪教版七下英语Unit7Rolemodelsofourtime第1课时Reading教学课件
- 2024北京八年级(下)期末数学汇编:一次函数(解答题)
评论
0/150
提交评论