版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计基础与进阶(慕课版)》教学设计课程名称:授课年级:授课学期:教师姓名:年月第1章Python简介章节第1章Python简介课堂学时1上机学时1教学目标1.专业能力:了解Python的发展历程、特点、版本与应用领域;理解Python开发环境(解释器)与IDLE的基本概念;掌握Python开发环境的搭建方法(下载、安装、PATH环境变量配置),掌握第一个Python程序的编写与运行,理解并遵守Python代码编写规范(注释、缩进、命名),了解在开发工具中引入AIGC工具的方法;2.实战能力:能独立完成Python解释器的下载安装与PATH环境变量配置并验证成功;能在IDLE中创建、编写、保存并运行Python程序;能在PyCharm等开发工具中安装并初步使用AIGC辅助编程工具;3.素质能力:培养规范的代码编写与命名习惯,提升问题排查能力(如解决“‘python’不是内部或外部命令”、全半角符号输入错误等问题)。教学重难点重点:Python开发环境的搭建(Python解释器的下载安装、勾选“Addpython.exetoPATH”、环境变量配置与验证);在IDLE中编写并运行第一个Python程序;Python代码编写规范(注释规范、缩进规范、命名规范)。难点:PATH环境变量配置与“‘python’不是内部或外部命令”问题的排查;多行注释(三引号)与代码缩进规范的正确理解与运用;在PyCharm中引入并配置AIGC工具(BaiduComate、FittenCode、CodeMoss、DeepSeek-R1等)。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(1学时)1.导入(10分钟):介绍Python“跨平台、开源、免费、解释型”高级编程语言的特点、发展历程(TIOBE排行榜、IEEESpectrum年度排名)及在Web开发、大数据处理、人工智能、网络爬虫等领域的应用,展示Python典型应用案例,激发学习兴趣;2.核心知识点讲解(30分钟):-Python概述:Python的定义与发展历程(1989年吉多·范罗苏姆发明、1991年公开发行)、主要版本(Python1.0/2.0/3.0)及选择Python3.x的理由、主要应用领域;-搭建Python开发环境:Python解释器的下载与安装(勾选“Addpython.exetoPATH”自动配置环境变量)、PATH环境变量的手动配置、验证安装成功的方法;-第一个Python程序:IDLE开发环境的使用、在IDLE中编写“人生苦短,我用Python”、创建.py文件并以RunModule(F5)方式运行程序;-Python代码编写规范:注释规范(单行注释“#”、多行注释三引号、中文编码声明)、缩进规范(4个空格)、命名规范(模块、包、类、函数、常量等);3.AIGC工具引入讲解(10分钟):讲解在PyCharm中引入AIGC工具的意义,演示安装BaiduComate、FittenCode、CodeMoss、DeepSeek-R1(腾讯云AI代码助手、MarsCode)等工具的方法;上机教学(1学时)1.实例教学(30分钟):-独立完成Python下载、安装(勾选“Addpython.exetoPATH”)并在命令提示符中验证安装成功;-在IDLE中编写并运行“HelloWorld”程序(如输出“人生苦短,我用Python”),创建并运行多行代码文件(如学生信息管理系统功能菜单);-练习代码注释(单行、多行、中文编码声明)、缩进与命名规范的写法;-在PyCharm中安装至少一款AIGC工具(如BaiduComate),熟悉基本使用方法;2.问题排查(20分钟):针对环境变量配置错误、“‘python’不是内部或外部命令”、中文全角符号导致语法错误等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第1章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.工具:Python3.12.x安装包、IDLE、PyCharm、国内PyPI镜像源地址;4.素材:源代码、环境搭建步骤文档、AIGC工具安装说明、习题答案。作业布置1.完成教材习题1-1至1-5;2.整理Python开发环境搭建与第一个程序编写的步骤笔记,记录遇到的问题及解决方法;3.尝试使用AIGC工具(如BaiduComate)查询Python模块或函数的详细用法。
第2章Python的基础语法章节第2章Python的基础语法课堂学时3上机学时1教学目标1.专业能力:理解Python中print()输出函数与input()输入函数的使用方法;掌握保留字与标识符的概念及命名规则;理解变量的本质、定义方式与动态类型特性;掌握数字、字符串、布尔3种基本数据类型及其转换方法;掌握算术、赋值、比较、逻辑、位运算符的用法及运算符优先级;了解借助AIGC工具高效学习的方法;2.实战能力:能熟练使用print()和input()函数编写输入输出程序;能正确命名变量与标识符并避免误用保留字;能定义各种基本数据类型的变量并进行数据类型转换;能运用各类运算符编写表达式实现计算与判断;能借助AIGC工具解决语法与概念疑问;3.素质能力:培养规范命名、严谨编码的良好习惯,提升排查语法错误(如以保留字作变量名、input()输入类型转换错误、混淆“=”与“==”等)的能力。教学重难点重点:print()与input()函数的使用;保留字与标识符的命名规则;基本数据类型(数字、字符串、布尔)及其转换;各类运算符的使用与表达式编写;难点:input()函数输入内容的类型转换;字符串类型的三引号与转义字符;运算符的优先级及逻辑运算的运用;位运算符(&、|、^、~、<<、>>)的理解;借助AIGC工具提出有效问题。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):回顾第1章“HelloWorld”程序中的print()输出,提问“如何接收用户输入”,引出输入输出与基础语法的重要性,激发学习兴趣;2.核心知识点讲解(30分钟):-输出与输入:print()函数的基本用法(输出数字、字符串、表达式计算结果、输出到指定文件)、input()函数的基本用法(接收键盘输入)及类型转换(int(input(...)));-保留字与标识符:保留字的概念与查看方法(importkeyword、keyword.kwlist)、标识符的命名规则(由字母、下画线和数字组成且首字符不能是数字、不能使用保留字、区分大小写、下画线开头的特殊含义);-变量:变量的本质(“名字”与“标签”)、变量的定义与使用(直接赋值创建)、动态类型特性(使用type()查看变量类型);3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用input()接收数据并输出;课堂教学(第2学时)1.导入(10分钟):提问“年龄用什么类型存储?姓名用什么类型存储?”,引出Python的3种基本数据类型;2.核心知识点讲解(30分钟):-数字类型:整数(十进制、八进制0o、十六进制0x、二进制0b)、浮点数(科学记数法表示)、复数(实部+虚部j);-字符串类型:单引号、双引号、三引号的用法与区别、常用转义字符(如\n、\t、\\等);-布尔类型:True与False、布尔值可转化为数值(True为1、False为0)、真值测试;-数据类型转换:int()、float()、str()等常用类型转换函数及转换注意事项;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习完成数据类型转换;课堂教学(第3学时)1.导入(10分钟):以“手机店折扣活动”场景引出逻辑运算符,展示运算符在生活中的应用;2.核心知识点讲解(30分钟):-算术运算符:+、−、*、/、%、//、**;-赋值运算符:=、+=、−=、*=、/=、%=、**=、//=;-比较(关系)运算符:>、<、==、!=、>=、<=;-逻辑运算符:and、or、not及逻辑运算真值结果;-位运算符:&、|、^、~、<<、>>;-运算符优先级:从高到低的优先级顺序、使用圆括号改变运算顺序;-借助AIGC工具高效学习:演示向通义千问等AIGC工具提问语法与概念问题;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习运用运算符编写表达式;上机教学(1学时)1.实例教学(30分钟):-实例名称:预测儿子的身高;-实例要求:根据输入的父亲和母亲的身高,预测儿子的身高并输出预测结果,计算公式为:儿子的身高=(父亲的身高+母亲的身高)×0.54;-开发步骤:通过input()函数获取父亲和母亲的身高,再根据公式计算儿子的身高,最后输出计算结果;-代码编写与运行测试:编写并运行程序,输入多组身高数据测试,观察并核对预测结果。2.问题排查(20分钟):针对input()输入类型转换错误、print()输出格式问题、运算符优先级理解偏差、混淆“=”与“==”等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第2章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例2-1至例2-7、上机指导)、习题答案。作业布置1.完成教材习题2-1至2-4;2.整理本章运算符优先级表,并借助AIGC工具查询一个不理解的概念。
第3章程序的控制结构章节第3章程序的控制结构课堂学时3上机学时1教学目标1.专业能力:理解顺序、选择、循环3种基本程序结构的概念;掌握if、if…else、if…elif…else选择语句及选择语句的嵌套;掌握条件表达式的用法;掌握while循环与for循环的语法及range()函数、循环嵌套;掌握break与continue跳转语句及pass空语句;了解借助AIGC工具编写实例的方法;2.实战能力:能根据问题特点选择合适的程序结构;能使用选择语句和条件表达式编写分支判断程序;能使用while/for循环及嵌套解决累加、遍历、计数等重复性问题;能在循环中正确使用break/continue控制执行流程;能借助AIGC工具将需求转化为可运行的程序实例;3.素质能力:培养逻辑思维与程序流程分析能力,提升对代码缩进层次、循环边界与死循环等问题的排查能力。教学重难点重点:if…elif…else多分支选择语句;while与for循环的语法格式及range()函数;break与continue跳转语句的区别与使用;难点:选择语句与循环语句的嵌套及缩进层次的理解;循环条件与循环边界(如range()结束值不包含)的把握;break与continue在不同循环中的执行流程;借助AIGC工具将需求描述转化为可运行代码。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以《射雕英雄传》中黄蓉与瑛姑的数学题为例,说明解题需要“条件判断+循环尝试”,引出程序的3种基本结构;2.核心知识点讲解(30分钟):-程序结构:顺序结构、选择结构、循环结构的概念与执行流程;-选择语句:if语句(“如果……就……”)、if…else语句(“如果……否则……”)、if…elif…else语句(多分支)的语法格式与执行流程;-选择语句的嵌套:if语句中嵌套if…else、通过缩进确定else的归属;-条件表达式:使用“aif条件elseb”形式简化if…else赋值;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习用if…elif…else判断成绩等级;14425.44课堂教学(第2学时)1.导入(10分钟):以“计算1到100的累加”“输出九九乘法表”等场景引出循环结构;2.核心知识点讲解(30分钟):-while循环:语法格式、循环条件与循环体、执行流程(“吹哨停跑”场景);-for循环:语法格式、range()函数(start、end、step三个参数)、数值循环(1~100累加);-遍历字符串:使用for循环遍历字符串等序列对象;-循环嵌套:for与while的相互嵌套、输出九九乘法表实例;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用while和for循环解决累加、遍历问题;课堂教学(第3学时)1.导入(10分钟):以“跑步中途停圈/跳过一圈”的生活场景引出break与continue跳转语句;2.核心知识点讲解(30分钟):-break语句:终止整个循环(while/for),“助力瑛姑找数”改进版(找到即跳出提高效率);-continue语句:跳过本次循环进入下一次循环,“逢七拍桌子”游戏;-pass语句:空语句占位作用,在if…else中为待处理分支占位;-借助AIGC工具编写实例:演示借助AIGC工具编写用户登录系统、理解代码并添加注释;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习区分break与continue的执行效果;上机教学(1学时)1.实例教学(30分钟):-实例名称:竞猜商品价格;-实例要求:实现竞猜商品价格,出价高于或低于商品实际价格时给予提示,猜中时提示“恭喜你,你猜对了本商品的价格,你是大赢家!”,竞猜次数超过10次时提示“竞猜失败,下次再战!”;-开发步骤:定义保存商品价格的变量,通过for循环实现竞猜10次的循环,在循环中通过if...else语句判断价格并给予提示;-代码编写与运行测试:编写并运行程序,分别测试猜高、猜低、猜中及超过10次竞猜的情况。2.问题排查(20分钟):针对代码缩进与代码块归属错误、循环边界(range())把握不准、break/continue使用不当、出现死循环等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第3章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例3-1至例3-9、上机指导)、习题答案。作业布置1.完成教材习题3-1至3-5;2.借助AIGC工具编写一个“用户登录系统”实例,巩固选择、循环、跳转语句的使用。
第4章列表和元组章节第4章列表和元组课堂学时3上机学时1教学目标1.专业能力:理解序列的概念及索引、切片、相加、相乘、成员检查、len()/max()/min()等通用操作;掌握列表的创建、访问、遍历、元素添加修改删除、统计计算、排序及列表推导式;掌握元组的创建、访问与不可变特性、元组推导式;掌握元组与列表的区别;了解借助AIGC工具快速扫除bug的方法;2.实战能力:能使用索引与切片访问序列元素;能创建并操作列表(遍历、增删改、统计、排序、推导式生成);能创建并访问元组、理解其不可变特性;能根据数据是否可变的需求选择列表或元组;能借助AIGC工具分析异常信息、快速定位并解决bug;3.素质能力:培养用序列组织与处理批量数据的意识,提升对可变与不可变数据类型区别的理解,以及常见异常(如元组元素不可修改、索引越界)的排查能力。教学重难点重点:序列的索引与切片操作;列表的创建、遍历、增删改、统计排序与列表推导式;元组的创建与不可变特性;列表与元组的区别;难点:切片语法sname[start:end:step]与负数索引的理解;列表推导式的三种格式;元组不可变与重新赋值的区别;元组推导式生成器对象及tuple()/list()转换;借助AIGC工具提炼并提交异常信息。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“酒店房间号找房间”“歌曲列表”等生活场景引出序列概念,说明按索引存放与存取多个值的作用;2.核心知识点讲解(30分钟):-序列:序列的概念(连续内存空间、按顺序排列、索引/位置),Python中的列表、元组、集合、字典、字符串;-索引:正数索引(从0开始)与负数索引(从−1开始)访问元素;-切片:sname[start:end:step]语法及start、end、step参数含义;-相加与相乘:同类型序列连接、序列乘以n生成重复n次的新序列;-成员检查与统计:in/notin关键字、len()/max()/min()及常用内置函数;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用索引与切片访问序列元素;课堂教学(第2学时)1.导入(10分钟):以“手机音乐App歌曲列表”引出列表是内置的可变序列,介绍列表的灵活性与应用场景;2.核心知识点讲解(30分钟):-列表的创建和删除:赋值创建、创建空列表、list()函数创建数值列表、del语句删除列表;-访问列表元素:print()输出列表、通过索引获取指定元素;-遍历列表:for循环直接遍历、for循环与enumerate()函数同时输出索引和元素;-添加、修改和删除元素:append()/extend()添加、按索引修改、del按索引删除、remove()按值删除;-对列表进行统计计算与排序:count()/index()/sum()、sort()方法与sorted()函数;-列表推导式:三种常用格式(生成指定范围数值、根据列表生成、带if条件筛选);3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建列表并完成遍历、统计与排序;课堂教学(第3学时)1.导入(10分钟):以“伊米咖啡馆咖啡菜单固定不变”场景引出元组是“不可变的列表”;2.核心知识点讲解(30分钟):-元组的创建和删除:赋值创建(圆括号非必需、单元素元组需加逗号)、创建空元组、tuple()函数、del删除元组;-访问元组元素:print()输出、索引与切片访问、for循环及enumerate()函数遍历;-修改元组元素:不可变特性(修改单个元素报错)、元组的重新赋值与连接组合;-元组推导式:生成器对象、tuple()/list()转换、for循环与__next__()遍历;-元组与列表的区别:可变性、方法支持、访问处理速度、能否作为字典键;-借助AIGC工具快速扫除bug:将异常信息提交给文心一言等AIGC工具,分析出错原因并获得解决方案;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建元组并尝试修改,理解不可变特性;上机教学(1学时)1.实例教学(30分钟):-实例名称:模拟QQ运动周报;-实例要求:定义4个列表分别保存每周的运动步数,统计每周的总步数、最高步数和最低步数,以及一个月(按4周计算)的总步数;-开发步骤:定义4个保存每周运动数据的列表,统计每周总步数、最高步数和最低步数并保存到另一个列表,再通过for循环累加每周总步数并输出各周数据,最后输出统计的一个月总步数;-代码编写与运行测试:编写并运行程序,核对各周及月总步数的统计结果。2.问题排查(20分钟):针对索引越界、切片参数理解偏差、误修改元组元素报错、remove()删除不存在元素报错、sort()方法与sorted()函数区别等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第4章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例4-1至例4-7、上机指导)、习题答案。作业布置1.完成教材习题4-1至4-4;2.借助AIGC工具分析一个程序报错信息,记录提问过程与解决方案。
第5章字典和集合章节第5章字典和集合课堂学时3上机学时1教学目标1.专业能力:理解字典是“键-值对”形式的可变序列及其主要特征(通过键读取元素、键必须唯一、键必须不可变);掌握字典的创建和删除、访问、遍历、添加/修改/删除元素及字典推导式;掌握集合的创建、添加和删除元素及交集、并集、差集运算;了解借助AIGC工具解决集合类型转换、字典无序等问题的思路;2.实战能力:能创建并操作字典(增删改查、遍历、推导式生成);能使用get()方法安全获取键值、避免键不存在异常;能创建集合并完成去重及交集、并集、差集运算;能借助AIGC工具解决数据类型转换与字典顺序等实际问题;3.素质能力:培养根据“键值关联”“去重”“无序唯一”等需求选择字典或集合的意识,提升对数据类型转换及可变与不可变数据类型区别的理解。教学重难点重点:字典“键-值对”结构与键的唯一性、不可变性;字典的创建、访问与遍历;集合的创建、去重与交集、并集、差集运算;难点:键不可变(列表不能作为键)与键唯一(重复键只保留后一个值)的理解;dict()/zip()/fromkeys()等多种创建字典方式;字典推导式与列表推导式的区别;set()函数对字符串、列表等可迭代对象的转换结果;借助AIGC工具解决实际问题的提问方法。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以《新华字典》音节表把拼音与汉字关联起来为例,引出以“键-值对”形式保存数据的字典;2.核心知识点讲解(30分钟):-字典的概念与特征:字典是无序的可变序列,保存内容呈“键-值对”形式;通过键读取元素、键值对有序、字典可变可嵌套、键必须唯一、键必须不可变;-字典的创建和删除:使用{}直接创建、dict()创建空字典、dict(zip(list1,list2))通过映射创建、dict(key=value)通过“键-值对”创建、dict.fromkeys()创建值为空的字典、del删除字典、clear()清空、pop()/popitem()删除元素;-访问字典:print()输出字典、通过键(dictionary['键'])获取值、if语句处理键不存在、get()方法获取指定键的值;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建字典并通过键访问元素;课堂教学(第2学时)1.导入(10分钟):以“查询通讯录中全部联系人”场景引出遍历字典获取全部“键-值对”;2.核心知识点讲解(30分钟):-遍历字典:items()方法获取“键-值对”元组、for循环遍历、forkey,value同时获取键和值;-添加、修改和删除字典元素:dictionary[key]=value添加元素、键重复时替换值实现修改、del语句删除指定键的元素;-字典推导式:dictname={key:valueforvarinrange}生成指定范围数值字典、根据列表与zip()组合生成字典;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习向字典添加/修改元素并遍历输出;课堂教学(第3学时)1.导入(10分钟):以“统计不重复名单”场景引出集合去重的应用;2.核心知识点讲解(30分钟):-集合的概念:集合用于保存不重复元素,主要应用是去重,元素放在花括号“{}”中;-创建集合:直接使用{}创建、使用set()函数将列表、元组等可迭代对象转换为集合;-向集合中添加元素和删除集合元素:add()添加元素、remove()/pop()删除元素、clear()清空集合、del删除整个集合;-集合的交集、并集和差集运算:交集使用“&”、并集使用“|”、差集使用“−”;-借助AIGC工具解决问题:演示借助AIGC工具解决其他数据类型转换为集合、字典结构的无序问题;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建集合并完成去重与交集、并集、差集运算;上机教学(1学时)1.实例教学(30分钟):-实例名称:统计收到快递人员名单;-实例要求:创建保存收到快递人员名字的集合,通过循环向集合中添加元素,出现重复元素时给予提示,输入数字时退出循环并输出集合元素;-开发步骤:创建保存收到快递人员名字的集合,通过while循环输入名单并添加元素,出现重复元素时提示,输入数字时退出循环,最后输出需要通知取快递的人员名单;-代码编写与运行测试:编写并运行程序,测试重复姓名提示与数字退出功能。2.问题排查(20分钟):针对键不存在异常、重复键的处理、set()函数转换结果、add()方法不能添加列表元组等可迭代对象、交集/并集/差集运算符混淆等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第5章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例5-1至例5-6、上机指导)、习题答案。作业布置1.完成教材习题5-1至5-3;2.借助AIGC工具解决一个字典或集合的实际问题(如数据类型转换、去重),记录提问过程与解决方案。
第6章字符串及正则表达式章节第6章字符串及正则表达式课堂学时4上机学时1教学目标1.专业能力:掌握字符串常用操作(拼接、计算长度、截取、分割、检索、字母大小写转换、去除空格和特殊字符、格式化);理解正则表达式的基本语法(行定位符、元字符、限定符、字符类、排除字符、选择字符、转义字符、分组);掌握使用re模块实现正则表达式操作(match/search/findall匹配、sub替换、split分割);了解借助AIGC工具编写字符串与正则实例的方法;2.实战能力:能对字符串进行拼接、截取、分割、检索、格式化等常用处理;能编写正则表达式匹配手机号、IP地址等指定格式;能使用re模块的match/search/findall/sub/split方法完成匹配、替换与分割;能借助AIGC工具编写并理解字符串处理与正则验证实例;3.素质能力:培养处理文本数据的规范化意识,提升对字符串编码、字节数与索引边界的理解,以及正则表达式调试与异常排查能力。教学重难点重点:字符串的拼接、截取(切片)、分割、检索与格式化;正则表达式的基本语法(元字符、限定符、字符类);re模块的match/search/findall/sub/split方法;难点:字符串长度与字节数(UTF-8/GBK编码)的计算;split()方法的sep与maxsplit参数;%操作符与format()方法的格式化模板;正则表达式元字符、限定符及原生字符串(r'...')的转义;match/search/findall三者的区别与分组匹配结果;借助AIGC工具编写实例并理解代码。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“对某句名言进行中英文拼接、按需截取、统计长度”等需求引出字符串常用操作;2.核心知识点讲解(30分钟):-拼接字符串:使用“+”运算符拼接多个字符串、字符串不能直接与其他类型数据拼接、使用str()函数将整数等转换为字符串后再拼接;-计算字符串的长度:len()函数计算字符串长度(默认所有字符按一个字节计算)、encode()方法编码后计算实际字节数(UTF-8编码汉字占3字节、GBK编码占2字节);-截取字符串:采用切片方法string[start:end:step]截取子字符串、start/end/step参数含义;-分割字符串:split()方法按指定分隔符切分字符串为列表、sep与maxsplit参数说明;-检索字符串:count()统计出现次数、find()/index()检索子字符串、startswith()/endswith()判断开头结尾;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习字符串拼接、截取与检索;课堂教学(第2学时)1.导入(10分钟):以“用户输入前后带空格、字母大小写不统一”的场景引出字符串的清洗与格式化处理;2.核心知识点讲解(30分钟):-字母的大小写转换:lower()方法将大写转换为小写、upper()方法将小写转换为大写;-去除字符串中的空格和特殊字符:strip()去除左右两侧、lstrip()去除左侧、rstrip()去除右侧空格和特殊字符;-格式化字符串:使用%操作符格式化(%[-][+][0][m][.n]格式化字符)、使用format()方法格式化({[index][:...]}占位符模板);3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习字符串大小写转换、去空格与格式化输出;课堂教学(第3学时)1.导入(10分钟):以“dir*.txt命令列出所有文本文件”为例引出用规则描述与匹配文本的正则表达式;2.核心知识点讲解(30分钟):-行定位符:^表示行的开始、$表示行的结束;-元字符:常用的元字符(如\b、\w、\d等)及其含义;-限定符:匹配指定数量字符的限定符(如{8}、*、+、?等);-字符类与排除字符:使用方括号[aeiou]列出要匹配的字符集合、[^a-zA-Z]表示排除指定字符集合;-选择字符、转义字符与分组:使用“|”实现“或”匹配、使用“\”对特殊字符转义、使用圆括号改变作用范围并进行分组;-在Python中使用正则表达式的语法格式:将正则表达式作为模式字符串、对“\”进行转义、使用原生字符串r'...'表示模式字符串;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习编写匹配手机号、邮箱等格式的正则表达式;课堂教学(第4学时)1.导入(10分钟):以“在一段文本中查找、替换和拆分数据”场景引出re模块实现正则表达式操作;2.核心知识点讲解(30分钟):-使用re模块匹配字符串:importre引入模块、match()方法从起始位置匹配、search()方法搜索第一个匹配值、findall()方法搜索全部匹配值并以列表返回、match对象的start()/end()/span()/group()方法;-使用re模块替换字符串:sub()方法按照模式字符串替换字符串、count参数控制替换次数;-使用re模块分割字符串:split()方法根据正则表达式分割字符串并以列表返回;-借助AIGC工具编写实例:演示借助AIGC工具实现检索并描红输出敏感词、验证IP地址;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用re模块匹配、替换与分割字符串;上机教学(1学时)1.实例教学(30分钟):-实例名称:根据身份证号码输出生日和性别;-实例要求:输入身份证号码,输出生日和性别,如输入“220***20100314**2*”,则输出“2010年03月14日女”;-开发步骤:先输入身份证号码,再获取对应的年、月、日组成生日,然后判断性别,并使用字符串替换功能将性别转换为“男”或“女”;-代码编写与运行测试:编写并运行程序,用示例身份证号码测试输出结果。2.问题排查(20分钟):针对字符串与整数拼接异常、len()长度与字节数混淆、切片索引边界、match/search/findall三者区别、正则表达式转义与分组匹配结果、re模块未引入报错等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第6章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例6-1至例6-12、上机指导)、习题答案。作业布置1.完成教材习题6-1至6-4;2.借助AIGC工具编写一个字符串处理或正则验证实例(如验证手机号、提取邮箱),记录提问过程与运行结果。
第7章函数章节第7章函数课堂学时2上机学时1教学目标1.专业能力:掌握函数的创建与调用语法(def关键字、函数名、参数列表、函数体、注释);理解形式参数与实际参数的区别,掌握位置参数、关键字参数、默认值参数、可变参数(*parameter、**parameter)的用法;掌握使用return语句设置返回值;理解局部变量与全局变量的作用域及global关键字;掌握匿名函数(lambda表达式)的基本用法;了解常用的Python内置函数;了解借助AIGC工具编写函数实例的方法;2.实战能力:能定义并调用自定义函数,实现“一次编写、多次调用”;能根据需求选择合适的参数传递方式;能获取函数返回值并加以利用;能正确区分局部变量与全局变量并处理变量作用域问题;能使用lambda表达式简化简单函数;能借助AIGC工具编写购物车系统等函数综合实例;3.素质能力:培养模块化、代码复用的编程思想,提升参数设计与命名规范意识,以及变量作用域、异常处理等代码质量意识。教学重难点重点:函数的创建与调用;形式参数与实际参数的区别;位置参数、关键字参数、默认值参数、可变参数的用法;return语句与返回值;局部变量与全局变量及global关键字;难点:值传递与引用传递(不可变对象与可变对象)的区别;可变参数*parameter与**parameter的区别及列表/字典解包;可变对象作为默认值的陷阱(使用None解决);局部变量与全局变量同名时的访问规则;lambda表达式的语法格式与调用方式;借助AIGC工具编写实例并理解代码。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“多次计算不同人的BMI”场景引出把重复代码定义为函数、实现“一次编写、多次调用”;2.核心知识点讲解(30分钟):-函数的创建和调用:def关键字创建函数、函数名/参数列表/函数体/注释说明、调用函数的基本语法、函数未被调用时不执行;-参数传递:形式参数与实际参数的区别、值传递与引用传递(实参为不可变对象时值传递、为可变对象时引用传递);-位置参数:调用时参数数量必须与定义时一致、参数位置必须与定义时一致、数量或位置错误抛TypeError异常或结果与预期不符;-关键字参数:使用形参的名字确定输入的参数值、不要求与形参位置完全一致;-为参数设置默认值:在定义函数时指定形参默认值、未传参时使用默认值、可变对象作为默认值需使用None并添加检查代码;-可变参数:*parameter接收任意个实际参数并放到元组中、**parameter接收任意个显式赋值的实际参数并放到字典中、在列表前加“*”/字典前加“**”作为可变参数;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建并调用函数、使用不同参数传递方式;课堂教学(第2学时)1.导入(10分钟):以“主管向职员下达命令并获取结果报告”引出函数返回值,再引出变量作用域;2.核心知识点讲解(30分钟):-返回值:使用return语句为函数指定返回值、返回一个值/返回多个值时保存为元组、return语句执行后直接结束函数执行;-变量的作用域:局部变量(在函数体内定义并使用、函数体外访问抛NameError异常)、全局变量(函数体外定义的变量、使用global关键字修饰的变量、函数体内可修改全局变量值);-匿名函数:lambda表达式创建匿名函数、result=lambda[arg1[,arg2,…,argn]]:expression语法、用变量接收后调用、未用变量接收时输出内存地址标识符;-常用的Python内置函数:参考表7-1常用Python内置函数及其功能;-借助AIGC工具编写实例:演示借助AIGC工具编写购物车系统(默认参数、可变参数、异常处理、返回多个值、修改全局变量)、借助AIGC工具解决匿名函数调用问题;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习获取函数返回值、区分局部变量与全局变量、使用lambda表达式;上机教学(1学时)1.实例教学(30分钟):-实例名称:计算出生日期距高考时间的天数;-实例要求:输入出生年份、月份和日期,计算该出生日期距高考时间的天数并输出;-开发步骤:导入date模块,定义gaokao_days()函数(以18岁那年的6月7日为高考日期,计算其与当前日期的天数差),再输入出生年月日并调用函数输出结果;-代码编写与运行测试:编写并运行程序,输入出生日期测试天数计算结果。2.问题排查(20分钟):针对调用未定义函数、参数数量不一致抛TypeError、值传递与引用传递混淆、可变对象作为默认值的陷阱、函数体外访问局部变量抛NameError、global关键字使用、lambda表达式调用方式、导入date模块失败等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第7章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例7-1至例7-7、上机指导)、习题答案。作业布置1.完成教材习题7-1至7-4;2.借助AIGC工具编写一个函数综合实例(如购物车系统),记录提问过程与运行结果。
第8章模块章节第8章模块课堂学时2上机学时1教学目标1.专业能力:理解模块的概念与作用(避免函数名和变量名冲突、提高代码可重用性与可维护性);掌握自定义模块的创建与导入方法(import语句、from…import语句、as别名、模块搜索目录与sys.path);掌握以主程序的形式执行程序(if__name__=='__main__');理解Python中包的概念、包结构与创建使用包的方法;了解标准模块的导入使用与第三方模块的下载安装(pip命令);了解借助AIGC工具解决模块和包相关问题的方法;2.实战能力:能创建自定义模块并在其他程序中导入使用;能通过import、from…import等语句灵活导入模块;能使用if__name__=='__main__'控制测试代码执行;能创建包并组织模块;能导入并使用random、math等标准模块,能用pip命令安装第三方模块;能借助AIGC工具理解模块、包与.py文件的区别;3.素质能力:培养代码模块化、工程化的组织意识,提升项目目录结构设计与代码复用、可维护性意识。教学重难点重点:模块的概念与作用;自定义模块的创建与导入(import、from…import、as别名);以主程序的形式执行程序;创建和使用包;标准模块的导入与第三方模块的下载安装;难点:import语句与from…import语句的区别(命名空间、是否加模块名前缀);模块搜索目录与sys.path的三种添加方法;if__name__=='__main__'的作用;包与__init__.py文件;从包中加载模块的3种方式;pip命令的使用与第三方模块安装。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“一盒积木拼出主题”“多个程序共用同一段功能代码”引出模块及其作用;2.核心知识点讲解(30分钟):-模块概述:模块的概念(一个扩展名为.py的文件就是一个模块)、作用(避免函数名和变量名冲突、提高代码可重用性与可维护性);-创建模块:将变量定义和函数定义等编写在“模块名+.py”文件中;-使用import语句导入模块:importmodulename[asalias]、一次导入多个模块(模块名间用逗号分隔)、通过“模块名.函数名”调用;-使用from…import语句导入模块:导入指定定义(变量、函数、类)、使用通配符“*”导入全部定义、导入后不需要加前缀直接访问;-模块搜索目录:默认查找顺序(当前目录→PYTHONPATH下每个目录→Python默认安装目录)、sys.path保存具体目录、三种添加指定目录方法(临时添加sys.path.append、增加.pth文件、在环境变量中添加PYTHONPATH);-以主程序的形式执行程序:导入模块时原有测试代码会被执行、使用if__name__=='__main__'判断使测试代码只在直接执行时运行;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建模块并用import、from…import导入;课堂教学(第2学时)1.导入(10分钟):以“模块名重复怎么办”引出将一组功能相近的模块组织在包的层次目录结构中;2.核心知识点讲解(30分钟):-Python中的包:包的概念(分层次的目录结构、将一组功能相近的模块组织在一个目录下)、作用(规范代码、避免模块重名冲突);-创建和使用包:创建包(创建文件夹并在其中创建__init__.py文件、__init__.py中代码在导入包时自动执行)、从包中加载模块的3种方式(“import+完整包名+模块名”、“from+完整包名+import+模块名”、“from+完整包名+模块名+import+定义名”);-导入和使用标准模块:importrandom等标准模块、通过模块名调用函数(如random.randint()生成指定范围随机整数)、常用内置标准模块参考表8-1;-第三方模块的下载与安装:pip<command>[modulename]语法、install/uninstall/list命令、pipinstallnumpy等、查看全部模块help('modules')、查看已安装第三方模块piplist;-借助AIGC工具解决模块和包相关问题:演示借助AIGC工具理解模块、包和.py文件的区别;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建包并导入模块、导入标准模块并调用函数;上机教学(1学时)1.实例教学(30分钟):-实例名称:字符串加密解密工具;-实例要求:通过自定义模块模拟实现字符串加密解密工具,该工具使用异或算法进行加密解密;-开发步骤:创建MyModular包并在__init__.py文件中编写xor_encrypt()和xor_decrypt()函数实现异或加密解密,再创建secret.py导入模块,对用户输入的字符串进行加密与解密;-代码编写与运行测试:编写并运行程序,输入字符串测试加密与解密结果是否一致。2.问题排查(20分钟):针对模块未找到ModuleNotFoundError、import与from…import混淆、if__name__=='__main__'缩进错误、包导入路径错误、pip安装失败(网络/镜像源)、函数名与模块名冲突等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第8章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例8-1至例8-2、上机指导)、习题答案。作业布置1.完成教材习题8-1至8-4;2.借助AIGC工具解决一个模块或包的实际问题(如模块导入报错、理解模块/包/文件区别),记录提问过程与解决方案。
第9章面向对象程序设计章节第9章面向对象程序设计课堂学时3上机学时1教学目标1.专业能力:理解面向对象的概念(对象、类)及面向对象程序设计的三大特征(封装、继承、多态);掌握类的定义与使用(class关键字、创建类的实例、__init__魔术方法、实例方法、类属性、实例属性);理解访问限制(保护属性_foo、私有属性__foo、特殊方法__foo__);掌握通过@property创建用于计算的属性和只读属性、为属性添加安全保护机制;掌握继承的基本语法格式、方法重写及在派生类中调用基类的__init__方法;了解借助AIGC工具编写用户登录系统的方法;2.实战能力:能定义类并创建类的实例;能创建并访问类的成员(实例方法、类属性、实例属性);能通过@property将方法转换为属性并添加安全保护;能定义基类与派生类、重写方法、使用super()函数调用基类构造方法;能借助AIGC工具设计并理解用户登录系统;3.素质能力:培养面向对象分析与设计思维,提升代码封装、复用与可维护性意识,理解类的抽象与建模过程。教学重难点重点:对象与类的概念;面向对象的三大特征(封装、继承、多态);类的定义与实例创建;__init__魔术方法;类属性与实例属性的区别;继承的基本语法格式与方法重写;难点:self参数的含义与作用;类属性与实例属性的区别(共享与独立、修改是否影响其他实例);保护属性与私有属性的访问限制及名称变形(_类名__×××);@property将方法转换为属性与只读属性的实现;在派生类中调用基类的__init__方法(super()函数);多态与继承的关系。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“大雁类与一只要南飞的大雁”“汽车设计图与真实汽车”引出类与对象的关系;2.核心知识点讲解(30分钟):-面向对象概述:对象的概念(属性与行为)、类的概念(封装对象属性和行为的载体)、面向对象程序设计的三大特征(封装、继承、多态);-定义类:class关键字定义类、类名(一般大写字母开头、驼峰式命名法)、类的文档字符串、类体(类变量、方法、属性、pass语句);-创建类的实例:ClassName(parameterlist)语法、定义类不会真正创建实例、实例是类的具体对象;-魔术方法——__init__方法:创建类的新实例时自动执行、类似构造方法、self参数是指向实例本身的引用;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习定义类并创建类的实例;课堂教学(第2学时)1.导入(10分钟):以“定义大雁类并记录其特征”引出创建类的成员并访问;2.核心知识点讲解(30分钟):-创建实例方法并访问:实例方法定义在类中、第一个参数必须是self、通过实例名和点操作符(.)访问;-创建数据成员并访问:类属性(定义在类中函数体外、所有实例之间共享)、实例属性(定义在类的方法中、只作用于当前实例、通过实例名修改不影响其他实例);-访问限制:首尾双下画线__foo__(特殊方法或属性,如__init__)、单下画线_foo(保护类型成员,类本身和子类可访问)、双下画线__foo(私有类型成员,只能类本身访问、可通过“实例名.__类名__×××”方式访问);-创建用于计算的属性:通过@property(装饰器)将方法转换为属性、通过方法名直接访问;-为属性添加安全保护机制:使用@property实现只读属性、为属性设置拦截器限制修改;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建类成员、访问类属性与实例属性、使用@property;课堂教学(第3学时)1.导入(10分钟):以“每个人都从父母继承体貌特征又各具特点”引出继承;2.核心知识点讲解(30分钟):-继承的基本语法格式:classClassName(baseclasslist)、父类(基类)与子类(派生类)、派生类可以调用基类的成员和方法;-方法重写:当基类中的某个方法不完全适用于派生类时,在派生类中重写该方法;-在派生类中调用基类的__init__方法:派生类定义__init__时不会自动调用基类的__init__、使用super()函数调用基类的__init__方法;-借助AIGC工具编写用户登录系统:演示借助AIGC工具设计User类与UserManager类、实现用户登录与退出系统;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习定义基类与派生类、重写方法、使用super();上机教学(1学时)1.实例教学(30分钟):-实例名称:银行账户资金交易管理;-实例要求:使用类和对象实现银行账户的资金交易管理,包括存款、取款和退出系统功能;-开发步骤:定义Bank类(实例属性balance、存款方法deposit()、取款方法withdrawl()),编写show_menu()函数显示菜单,创建程序入口实例化Bank对象并根据菜单编号调用相应方法;-代码编写与运行测试:编写并运行程序,测试存款、取款(含余额不足)与退出功能。2.问题排查(20分钟):针对实例方法缺少self参数、类属性与实例属性混淆、私有属性直接通过实例名访问抛AttributeError、@property只读属性修改报错、派生类未调用基类__init__导致属性不存在、super()函数用法错误等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第9章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例9-1至例9-10、上机指导)、习题答案。作业布置1.完成教材习题9-1至9-3;2.借助AIGC工具编写一个面向对象实例(如用户登录系统),记录提问过程与运行结果。第10章文件与文件夹操作章节第10章文件与文件夹操作课堂学时3上机学时1教学目标1.专业能力:掌握基本文件操作(open()函数创建和打开文件、mode参数、close()关闭文件、with语句、write()写入、read()/seek()/readline()/readlines()读取);掌握目录操作(os模块和os.path模块、相对路径与绝对路径、判断目录是否存在、创建/删除/遍历目录);掌握高级文件操作(删除文件、重命名文件和目录、获取文件基本信息);了解借助AIGC工具解决删除子目录问题的方法;2.实战能力:能使用open()函数和with语句读写文本文件;能使用os模块和os.path模块进行目录判断、创建、删除、遍历;能使用os模块删除文件、重命名文件和目录、获取文件基本信息;能借助AIGC工具解决文件与文件夹操作的常见问题;3.素质能力:培养文件读写规范意识(及时关闭文件、指定编码方式),提升对路径、异常(文件不存在、目录已存在)处理的严谨意识。教学重难点重点:open()函数创建和打开文件及mode参数;with语句的使用;write()写入与read()/readline()/readlines()读取;os模块和os.path模块的目录操作(exists/mkdir/makedirs/rmdir/walk);删除文件、重命名文件和目录;难点:mode参数各取值含义及打开不存在的文件时创建文件;读取指定字符与seek()移动文件指针;相对路径与绝对路径及os.getcwd()/os.path.abspath()/os.path.join();mkdir()与makedirs()的区别;rmdir()只能删除空目录与shutil.rmtree()删除非空目录;stat()函数获取文件基本信息。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“程序运行时保存用户数据、读取配置文件”场景引出文件操作的必要性;2.核心知识点讲解(30分钟):-创建和打开文件:open()函数语法、mode参数(r/w/a等取值及含义)、打开不存在的文件时先创建(指定w、w+、a、a+)、以二进制方式打开非文本文件、打开文件时指定编码方式(encoding='utf-8');-关闭文件:使用close()方法及时关闭打开的文件;-打开文件时使用with语句:withexpressionastarget语法、无论是否抛出异常都能自动关闭文件;-写入文件内容:write()方法向文件写入内容、flush()方法将缓冲区内容写入磁盘;-读取文件内容:read()方法读取指定字符、seek()方法移动文件指针、readline()方法逐行读取、readlines()方法读取全部行并返回列表;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习创建文件、写入内容并读取输出;课堂教学(第2学时)1.导入(10分钟):以“分门别类存放文件、快速找到目标文件”引出目录操作;2.核心知识点讲解(30分钟):-os模块和os.path模块:导入os模块、通用变量(操作系统类型、os.linesep换行符、os.sep路径分隔符)、os模块操作目录函数与os.path模块函数;-路径:相对路径与绝对路径的概念、os.getcwd()获取当前工作目录、os.path.abspath()获取绝对路径、os.path.join()拼接路径;-判断目录是否存在:os.path.exists()返回True或False;-创建目录:os.mkdir()创建一级目录、os.makedirs()递归创建多级目录、目录已存在时抛FileExistsError;-删除目录:os.rmdir()删除空目录、shutil.rmtree()删除非空目录;-遍历目录:os.walk()遍历指定目录、返回值(dirpath、dirnames、filenames)元组生成器对象;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习判断、创建、删除、遍历目录;课堂教学(第3学时)1.导入(10分钟):以“清理临时文件、整理文件名称”场景引出高级文件操作;2.核心知识点讲解(30分钟):-删除文件:os.remove()删除指定文件、删除前先判断文件是否存在;-重命名文件和目录:os.rename(src,dst)重命名文件或目录、重命名前先判断文件或目录是否存在;-获取文件基本信息:os.stat()获取文件基本信息、返回对象的常用属性(如st_size文件大小、st_mtime最后一次修改时间)及os.path.abspath()获取完整路径;-借助AIGC工具解决删除子目录相关问题:演示借助AIGC工具解决os.rmdir()无法删除子目录的问题、使用shutil.rmtree()递归删除目录及其所有内容;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习删除文件、重命名文件、获取文件基本信息;上机教学(1学时)1.实例教学(30分钟):-实例名称:模拟网店客服自动回复功能;-实例要求:编写程序模拟网店自动回复功能,根据买家问题中的关键字(订单、物流、账户、支付)从reply.txt文件中查找并输出对应的回复内容;-开发步骤:编写reply.txt保存提前设定好的自动回复内容(关键字和回复内容之间使用“|”分隔),编写find_answer()函数以只读模式打开文件并匹配关键字,创建程序入口循环提问,输入bye时退出;-代码编写与运行测试:编写并运行程序,分别测试订单、物流、账户、支付等问题的自动回复。2.问题排查(20分钟):针对文件找不到抛FileNotFoundError、打开文件编码不一致抛UnicodeDecodeError、写入中文乱码、目录已存在抛FileExistsError、rmdir()删除非空目录报错、相对路径与绝对路径混淆、忘记关闭文件等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第10章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.素材:源代码(例10-1至例10-6、上机指导)、习题答案。作业布置1.完成教材习题10-1至10-3;2.借助AIGC工具解决一个文件或文件夹操作的实际问题(如删除子目录、读取指定编码文件),记录提问过程与解决方案。
第11章Python与数据库章节第11章Python与数据库课堂学时3上机学时2教学目标1.专业能力:理解PythonDatabaseAPI2.0规范,掌握数据库API中的连接对象与游标对象;掌握使用SQLite数据库(创建数据库文件、新增/查看/修改/删除用户数据);掌握使用MySQL数据库(下载和安装MySQL、安装PyMySQL、连接数据库、创建数据表、操作MySQL数据表);了解借助AIGC工具实现分页查看学生信息的方法;2.实战能力:能使用sqlite3模块连接SQLite数据库并完成数据的增删改查;能使用PyMySQL连接MySQL数据库并完成建表与数据操作;能使用fetchone()/fetchmany()/fetchall()方法获取查询结果;能借助AIGC工具设计数据库应用实例;3.素质能力:培养数据库设计与数据完整性意识(事务提交与回滚),理解数据管理在应用开发中的重要性。教学重难点重点:数据库API中连接对象与游标对象;sqlite3模块连接数据库并执行数据的增删改查;commit()提交事务与rollback()回滚;PyMySQL连接MySQL数据库与创建数据表、操作数据表;fetchone()/fetchmany()/fetchall()三种查询方法;难点:connect()函数参数与连接对象的方法(commit/rollback/close)、游标对象的属性(description、rowcount);事务机制;SQL语句中问号占位符与元组参数的用法;MySQL数据库的下载安装与环境变量设置、PyMySQL的安装;executemany()批量添加数据;借助AIGC工具设计分页查询实例。教学方法讲授法、演示法、实操指导法、问题驱动法教学过程课堂教学(第1学时)1.导入(10分钟):以“项目开发中数据库应用必不可少、Python对多种数据库统一操作”引出数据库应用程序接口;2.核心知识点讲解(30分钟):-数据库应用程序接口:PythonDatabaseAPI2.0规范、模块接口/连接对象/游标对象等组成;-连接对象:connect()函数获取连接对象及常用参数(host、user、password、db、charset等)、连接对象的方法(commit()提交事务、rollback()回滚事务、close()关闭连接、cursor()获取游标)、使用事务维护数据完整性(转账示例);-游标对象:通过连接对象cursor()方法获取、游标对象的属性(description、rowcount)与方法(execute()执行SQL、fetchone()/fetchmany()/fetchall()获取结果);-使用SQLite:SQLite嵌入式数据库特点、Python内置sqlite3模块、创建SQLite数据库文件(sqlite3.connect()、cursor.execute()创建user表);3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习连接SQLite数据库并创建表;课堂教学(第2学时)1.导入(10分钟):以“向数据表中保存用户信息、查询已保存数据”引出SQLite数据操作;2.核心知识点讲解(30分钟):-新增用户数据信息:insertinto语句、commit()提交事务、rollback()回滚、重复插入抛IntegrityError;-查看用户数据:select语句、fetchone()/fetchmany()/fetchall()三种查询方法的区别、SQL语句中使用问号占位符与元组参数;-修改用户数据:update语句、使用fetchall()查看修改结果;-删除用户数据:delete语句、删除指定id的数据;-下载和安装MySQL:MySQL8.0下载、安装类型(DeveloperDefault/Serveronly等)、设置环境变量、启动MySQL;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用SQLite完成数据的增查改删;课堂教学(第3学时)1.导入(10分钟):以“Python需要MySQL驱动来连接独立的MySQL服务器”引出PyMySQL与MySQL操作;2.核心知识点讲解(30分钟):-安装PyMySQL:pipinstallPyMySQL;-连接数据库:使用PyMySQL的connect()方法连接MySQL数据库(host、user、password、database参数)、通过execute()执行SQL查询并获取版本信息;-创建数据表:使用execute()方法创建books表(id、name、category、price、publish_time字段)、DROPTABLEIFEXISTS语句;-操作MySQL数据表:executemany()方法批量添加多条记录、mit()提交与db.rollback()回滚;-借助AIGC工具实现分页查看学生信息:演示借助AIGC工具设计分页查询函数(LIMIT/OFFSET、统计总记录数)并运行;3.课堂小结与随堂练习(10分钟):小结本学时知识点,随堂练习使用PyMySQL连接数据库并创建数据表;上机教学(2学时)1.实例教学(60分钟):-实例名称:小型会员管理系统;-实例要求:编写程序实现企业对会员信息的有效管理,包括数据初始化(创建会员数据库与数据表)和会员管理功能(管理员、会员卡、会员的添加、修改、删除、查询,会员充值、充值查询,会员卡挂失、挂失查询),可选用SQLite或MySQL数据库;-开发步骤:引入pymysql等模块,定义get_input()、init_print()、change_data()、select_data()、execute_sql()、generate_sql()等函数,创建程序入口根据菜单功能编号执行相应的数据库操作;-代码编写与运行测试:编写并运行程序,初始化数据库后测试管理员添加、会员卡管理、会员充值、查询与挂失等功能。2.问题排查(30分钟):针对连接数据库失败(主机、用户名、密码、数据库名称错误)、未安装PyMySQL模块抛ModuleNotFoundError、忘记commit()导致数据未保存、SQL语句语法错误、占位符使用错误、中文乱码、游标或连接未关闭等问题进行集中答疑指导。教学资源1.教材:《Python程序设计基础与进阶(慕课版)》第11章;2.线上资源:人邮学院配套慕课、章节二维码视频;3.工具:SQLite、MySQL8.0与NavicatforMySQL、PyMySQL;4.素材:源代码(例11-1至例11-8、上机指导)、习题答案。作业布置1.完成教材习题11-1至11-5;2.借助AIGC工具设计一个数据库应用实例(如分页查看学生信息),记录提问过程与运行结果。
第12章进程和线程章节第12章进程和线程课堂学时4上机学时1教学目标1.专业能力:理解进程与线程的基本概念;掌握创建进程的常用方式(multiprocessing模块、Process子类、进程池Pool);掌握进程间通信(Queue队列);掌握创建线程(threading模块、Thread子类);掌握线程间通信(互斥锁、Queue队列);理解异步编程(asyncio模块、协程);了解借助AIGC工具实现多线程执行数字平方值计算的方法;2.实战能力:能使用multiprocessing模块和Process子类、进程池Pool创建进程;能使用Queue实现进程间通信;能使用threading模块和Thread子类创建线程;能使用互斥锁和队列解决线程间通信与资源共享问题;能使用asyncio创建协程任务并执行多个耗时任务;能借助AIGC工具设计并发实例;3.素质能力:培养并发编程思维与资源管理意识,理解多任务执行中数据一致性与运行效率的平衡。教学重难点重点:进程与线程的基本概念及区别;Process类创建进程及其常用方法与属性;Process子类与进程池Pool创建进程;进程间通信Queue队列;Thread类创建线程;互斥锁(Lock)的使用;使用队列在线程间通信(生产者-消费者模式);难点:阻塞与非阻塞方式(apply_async/apply);进程之间不共享数据与线程之间共享全局变量的区别;互斥锁解决资源竞争(acquire/release);asyncio异步编程的事件循环、协程与futures;创建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年国防教育理论与实践测试卷
- 高三英语听力标准训练第34讲教学设计:语篇重构与推理判断策略
- 初中音乐七年级下册《太阳出来喜洋洋》审美体验与创意实践教学设计
- 高中物理选择性必修第三册第四章章末过关检测(四)教学设计
- 高三化学化学反应速率与平衡图像分类突破教学设计
- 七年级英语Unit 6阅读素养提升教学设计
- 高中信息技术必修1 第四单元《计算与问题解决》第5课时 成果报告可视化-软件系统测试 教学设计
- 初中七年级道德与法治《成长有声教育无痕》班主任导师制教学设计
- 人教版初中七年级地理“我们生活的大洲-亚洲”教学设计
- 初中科学九年级上册《物质的转化》第一课时教学设计
- (正式版)FZ∕T 63001-2024 缝纫线用涤纶本色纱线
- 部编版八年级上册道德与法治全册集体备课教案
- NBT 10355-2019 管束式集装箱
- 旅游代理委托书
- 《脑卒中康复治疗》课件
- 青少年科普知识讲座之人体骨骼医学
- 供应商稽查流程
- 心内科常用药物静泵配置方法
- GA/T 1998-2022汽车车载电子数据提取技术规范
- 年产万吨选煤厂安全预评价报告
- 文献检索与毕业论文写作PPT完整全套教学课件
评论
0/150
提交评论