《Python程序设计与数据采集》教学大纲 |
您所在的位置:网站首页 › python数据分析与应用选择题答案 › 《Python程序设计与数据采集》教学大纲 |
2. 素养目标 二、教学中应注意的问题 三、教学内容与教学重点 第1 章 Python开发环境搭建与使用 第2 章 内置类型、内置函数与运算符 第3 章 程序控制结构 第4 章 列表、元组 第5 章 字典与集合 第6 章 字符串 第7 章 函数定义与使用 第8 章 基于文件和设备的数据采集 第9 章 基于SQLite数据库的数据采集 第10 章 基于网页的数据采集 四、各章节课时分配 五、教材、参考书目与在线练习平台 课程名称:Python 程序设计/Python数据采集 课程编号: 课程性质:限制性选修考核方式:考查 建议学时:32+32 或48+16 前导课程:无 适用专业:计算机科学与技术、数据科学与大数据技术等相关专业 一、总体教学目标和要求 1.能力目标 1) 能够熟练搭建Python开发环境,了解Python 编码规范; 2) 熟练使用Python 的函数式编程模式,能够编写出优雅的Python程序; 3) 熟练运用Python 内置函数与运算符、列表、元组、字典、集合、字符串等基本数据类型以及推导式、切片、序列解包等语法来解决实际问题; 4) 熟练掌握Python 选择结构、循环结构、异常处理结构的语法和应用,能够编写鲁棒性较强的程序; 5) 熟练掌握函数设计有关内容,具备一定的代码复用和设计复用能力; 6) 熟练使用字符串对象方法以及运算符、内置函数、部分标准库函数和扩展库对字符串的操作; 7) 熟练掌握文本文件与常见类型的二进制文件操作,熟练掌握文件夹遍历的方法; 8) 熟练掌握从文本文件、Word 文件、Excel文件、PowerPoint文件、PDF文件、图像文件、音频文件、视频文件等不同类型文件中采集数据的技术; 9) 熟练掌握从麦克风、扬声器、摄像头、温度湿度传感器等不同类型设备中采集数据的技术; 10) 熟练掌握从SQLite 数据库中采集数据的相关技术; 11) 熟练掌握从网页上采集文字、图像、文件等不同类型数据的技术; 12) 具有一定的代码调试与集成能力,具有较强的学习能力、资料查阅能力和代码阅读能力,具有一定的代码优化与安全编程意识和能力。 2. 素养目标 1)培养学生关注程序设计语言的发展现状与前景; 2)培养学生动手能力和探索精神; 3)引导学生遵守标识符命名规范、接口定义与调用规范、数据采集规范; 4)培养学生优化代码、复用代码的意识; 5)培养学生编写优雅代码的习惯和意识; 6)培养学生学以致用的习惯和意识; 7)培养学生精益求精的工匠精神; 8)引导学生遵守大数据伦理学与相关职业道德; 9)培养学生团队协作能力和交流沟通能力; 10)培养学生的民族责任感、社会责任感和家国情怀。 二、教学中应注意的问题 Python 编程模式中非常重要的一条是代码要优雅、简洁、直观。除了保证功能正确和适当优化之外,同时还应保证代码具有较强的可读性和可维护性。 在教学过程中需要特别注意的是,不要使用其他编程语言的思维去理解和使用Python ,不要在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,保证代码的优雅、简洁,让代码更加Pythonic。 Python 是以快速解决问题为目的的编程语言,教学过程中不建议在语言细节和内置对象、标准库对象实现原理上花费太多时间,尤其不要纠结内存管理的问题。使用Python 编程解决问题应充分借鉴和使用成熟的内置对象、标准库对象和扩展库对象,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率,在开发速度和运行速度之间达到最佳平衡。例如,如果需要进行排序则直接使用内置函数sorted或列表的sort方法进行排序,切不可再使用选择法排序、冒泡法排序、快速排序算法或堆排序等排序算法来编写代码实现;如果要测试一段代码的运行时间,应使用标准库time或timeit中的有关函数;要测试一个年份是否为闰年,应使用calendar标准库中的isleap函数;词频统计推荐使用标准库collections中的Counter类;组合、排列推荐使用标准库itertools中的combinations和permutations函数;要进行编写爬虫程序,建议使用标准库urllib或扩展库requests、bs4、scrapy;中文分词推荐使用扩展库jieba;拼音处理推荐使用pypinyin;视频处理推荐使用moviepy。 授课过程中,应把主要精力放在解决问题的代码实现原理和调试分析上。例如,讲解操作docx 格式文件的案例时应讲清楚Word和WPS这两个软件创建的文件内部实现有什么区别,然后再讲解代码,要让学生理解为什么要这样写。在讲解网络爬虫程序时,要让学生理解程序代码和网页源代码之间的对应关系,以及网页源代码发生改变时如何修改爬虫程序代码,采集另一个同类网站的数据时如何修改爬虫程序代码。讲解所有案例时,尽量不给学生源码,而是让学生自己输入代码运行程序,发生错误时引导学生阅读提示信息、定位错误位置、修改代码,让学生充分思考。 三、 教学内容与教学重点 第1 章 Python开发环境搭建与使用 1.1 Python 语言特点与应用领域 教学内容:Python 语言的特点,Python语言的应用领域。 授课方式:讲授。 习题:简答题1 、2,选择题5,判断题3 1.2 Python 安装与IDLE简单使用 教学内容:安装Python 官方解释器和开发环境IDLE,IDLE 交互模式和程序模式的使用,在IDLE中运行程序的方式。 教学重点:IDLE 交互模式和程序模式的使用。 授课方式:讲解+演示+ 练习。 习题:操作题1 ,选择题4 1.3 在PowerShell或命令提示符环境运行Python程序 教学内容:系统变量Path 的设置,运行Python程序的不同方式。 教学重点:在PowerShell 和命令提示符环境运行Python 程序。 授课方式:讲解+演示+ 练习。 习题:判断题1 1.4 安装扩展库 教学内容:内置模块、标准库、扩展库的基本概念,在线、离线安装扩展库,安装扩展库过程中的常见问题与解决方法。 教学重点:在线安装扩展库,离线安装扩展库,设置国内源提高下载速度。 教学难点:设置国内源提高下载速度。 授课方式:讲解+演示+ 练习。 习题:填空题1 、2、5,判断题2,操作台2 1.5 标准库、扩展库对象的导入与使用 教学内容:导入和使用标准库、扩展库对象的不同方法及其优劣。 教学重点:几种导入方式的区别和优劣。 授课方式:讲解+演示+ 练习。 习题:填空题2 、3,选择题3,判断题5 1.6 Python 代码编写规范 教学内容:缩进,空行与空格,标识符命名,续行,注释,对象导入,代码优化。 教学重点:缩进,标识符命名。 授课方式:讲解+演示。 思政元素:职业素养、行业规范、契约精神、团队合作能力、沟通能力。 习题:选择题1 、2,判断题4,简答题3 第2 章 内置类型、内置函数与运算符 2.1 常用内置类型 教学内容:整数、实数、复数、列表、元组、字典、集合、字符串、函数等基本概念与简单使用。 授课方式:讲解+演示+练习。 习题:判断题1 、3、5、6、7、8 2.2 运算符与表达式 教学内容:算术运算符、关系运算符、成员测试运算符、集合运算符、逻辑运算符、下标运算符与属性访问运算符、赋值运算符,功能与语法。 教学重点:各运算符功能。 教学难点:逻辑运算符、关系运算符、元素测试运算符的惰性求值特点。 授课方式:讲解+演示+ 练习。 习题:填空题1~10 ,选择题4,判断题10 2.3 常用内置函数 教学内容:input 、print、dir、help、range、类型转换函数、max、min、len、sum、sorted、reversed、zip、enumerate、next、map、reduce、filter,函数语法与功能。 教学重点:内置函数语法与功能,函数式编程模式。 教学难点:内置函数sorted、max、min的key参数,max、reduce、filter对函数式编程模式的支持,reversed、zip、enumerate、map、filter等函数返回的迭代器对象的惰性求值特点。 授课方式:讲解+演示+ 练习。 习题:选择题1 、2、3、5,判断题2、4、9 2.4 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 习题:程序设计题1~4 第3 章 程序控制结构 3.1 条件表达式 教学内容:表达式的概念,表达式与True/False 的等价关系。 教学重点:表达式与True/False 的等价关系。 授课方式:讲授。 习题:填空题1 、2,选择题4,判断题1 3.2 选择结构 教学内容:单分支选择结构、双分支选择结构、多分支选择结构、嵌套选择结构的语法与应用。 教学重点:代码缩进。 授课方式:讲解+演示+练习。 习题:判断题3 、8 3.3 循环结构 教学内容:for 循环结构、while循环结构、break与continue语句。 教学重点:else 关键字的应用场景,使用for循环遍历可迭代对象,break语句对循环结构执行流程的影响。 教学难点:带else的循环结构执行流程。 授课方式:讲解+演示+ 练习。 思政元素:精益求精,从代码优化到工匠精神。 习题:填空题3 、4、5、6,选择题1、2、5,判断题4 3.4 异常处理结构 教学内容:常见异常表现形式、异常处理结构语法与应用。 教学重点:常见异常表现形式、异常处理结构语法。 授课方式:讲解+演示。 思政元素:避免让异常暴露在终端用户面前,没有被处理的异常应转换为提示信息告诉用户接下来应该怎么做,避免给终端用户造成困扰。注重高效沟通。 习题:选择题3 、6,判断题2、5、6、7 3.5 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 习题:程序设计题1~5 第4 章 列表与元组 4.1 列表 教学内容:列表创建与删除、列表元素访问、列表常用方法、列表对象支持的运算符、内置函数对列表的操作,列表推导式语法与应用,使用切片访问列表、元组、字符串中部分元素。 教学重点:列表常用方法,运算符和内置函数对列表的操作,切片。 教学难点:双向索引,浅复制与深复制的区别。 授课方式:讲解+演示+ 练习。 习题:填空题1~6 、8,选择题1~5、7、8,判断题1、4、5、6 4.2 元组 教学内容:元组创建、元组方法与常用操作、元组与列表的区别、生成器表达式语法。 教学重点:元组与列表的区别,生成器对象的概念与使用。 教学难点:元组的元素数量和引用不可变,生成器对象具有惰性求值的特点,生成器对象中的每个值只能使用一次。 授课方式:讲解+演示+ 练习。 习题:填空题7 ,判断题2、3、7、8、9、10 4.3 序列解包 教学内容:序列解包的语法和应用。 教学重点:等号左侧变量的数量和等号右侧值得数量必须相同,且所有变量的赋值是同时进行的。 教学难点:多个变量的赋值是同时进行的。 授课方式:讲解+演示。 习题:选择题6 4.4 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 习题:程序设计题1~6 第5 章 字典与集合 5.1 字典 教学内容:创建字典的几种形式、字典常用方法。 教学重点:字典对象的get 方法,使用下标为字典赋值的两种含义。 授课方式:讲解+演示+ 练习。 习题:填空题1~5 、13、14,选择题2、3、6、7、10、11、12,判断题1~5、7、8、15 5.2 集合 教学内容:创建集合的几种形式、集合常用方法。 教学重点:集合内元素不重复,且必须可哈希。 授课方式:讲解+练习。 习题:填空题6~12 、15,选择题1、4、5、8、9、13、14、15,判断题6、9~14 5.3 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 习题:程序设计题1~5 第6 章 字符串 6.1 字符串方法及应用 教学内容:字符串编码与字节串解码、字符串格式化、find 、rfind、index、rindex、split、rsplit、splitlines、join、replace、maketrans、translate、center、ljust、rjust、字符串测试、strip、rstrip、lstrip、removeprefix、removesuffix。 教学重点:字符串所有方法都不修改原字符串。 授课方式:讲解+演示+ 练习。 习题:填空题1~16 ,选择题1~8,判断题1~15 6.2 部分扩展库对字符串的处理 教学内容:中英文分词、中文拼音处理。 授课方式:讲解+练习。 6.3 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 习题:程序设计题1~4 第7 章 函数定义与使用 7.1 函数定义与调用 教学内容:函数定义与调用基本语法、递归函数定义与调用、函数嵌套定义与调用,实参与形参的概念。 教学重点:普通函数的定义与调用语法,递归函数的执行过程。 思政元素:从函数定义与调用到接口定义再到契约精神。 授课方式:讲解+演示+ 练习。 习题:填空题1 、2,选择题1、2,判断题3、10 7.2 函数参数 教学内容:位置参数、默认值参数、关键参数、可变长度参数,实参解包。 教学重点:几种形式的函数参数传递方式,调用函数时是把实参的引用传递给形参。 授课方式:讲解+演示+ 练习。 习题:填空题6 、10,选择题3、4、5,判断题1、2、5、7 7.3 变量作用域 教学内容:变量作用域的分类,作用域的搜索顺序。 教学重点:作用域的搜索顺序。 授课方式:讲解+演示。 习题:填空题7 ,判断题4、6、8 7.4 lambda 表达式语法与应用 教学内容:lambda 表达式的功能,lambda表达式的应用场合。 教学重点:lambda 表达式的功能,lambda表达式的应用场合。 授课方式:讲解+演示+ 练习。 习题:填空题3 、4、5、8、9,选择题6 7.5 生成器函数定义与使用 教学内容:yield 语句的作用,生成器函数与普通函数的区别。 教学难点:生成器函数的返回值是生成器对象。 授课方式:讲解+演示。 习题:判断题9 7.6 综合例题解析 教学内容:本节全部例题。 授课方式:讲解+练习。 思政元素:在例7-4的演示字符串中使用“雾锁山头山锁雾”类似的回文,引导学生发现中文的美与博大精深;讲解例7-9的秦九韶算法时,适当展开介绍我国古代和现代的成就。 习题:程序设计题1~5 第8 章 基于文件和设备的数据采集 8.1 文本文件操作与二进制文件内容操作 教学内容:内置函数open 、文件对象常用方法、上下文管理语句with、文本文件操作例题解析。 教学重点:内置函数open 的参数file、mode和encoding,读写文件内容时会自动修改文件指针的位置,使用关键字with管理文件对象的用法。 授课方式:讲解+演示+ 练习。 习题:填空题1~4,选择题1、2、3、7、8、9,判断题1~7,程序设计题1 8.2 文件级与文件夹级操作 教学内容:标准库os 、os.path、shutil中的常用成员、文件夹操作例题解析。 教学重点:遍历目录树。 授课方式:讲解+演示+ 练习。 习题:填空题5~16,程序设计题2 8.3 Word 、Excel、PowerPoint、PDF文件内容读取 教学内容:Word 、Excel、PowerPoint、PDF等不同类型文件内容的读取,采集需要的数据。 教学难点:文件结构分析。 授课方式:讲解+演示+ 练习。 习题:填空题17,选择题4、5、6,判断题8、9、10,程序设计题3、4 8.4 图像、音频、视频等文件数据采集 教学内容:从图像文件、音频文件、视频文件等不同类型的多媒体文件中采集数据。 教学重点:相关扩展库安装和使用。 授课方式:讲解+演示+ 练习。 习题:程序设计题5 8.5 麦克风、扬声器、摄像头、传感器等设备数据采集 教学内容:从麦克风、扬声器、摄像头、温度湿度传感器等不同类型的设备中采集数据。 教学重点:相关扩展库安装和使用。 授课方式:讲解+演示+ 练习。 思政元素:介绍隐私保护、大数据伦理学的有关内容。 习题:程序设计题6 第9 章 基于SQLite数据库的数据采集 9.1 SQLite 数据库基础 教学内容:介绍SQLite 数据库特点、适用场景等基础知识。 授课方式:讲授。 习题:选择题1、2、9,判断题5、6 9.2 标准库sqlite3用法简介 教学内容:转换Python 函数为SQL函数的方法,Connection对象、Cursor对象的用法,执行SQL语句的不同方法,为SQL语句传递参数的不同形式。 教学重点:为SQL 语句传递参数的不同形式。 授课方式:讲解+演示+ 练习。 习题:填空题1~7,判断题1、2、3、4、7、8、9 9.3 常用SQL语句 教学内容:CREATE TABLE ,DROP TABLE,INSERT INTO,SELECT,UPDATE,DELETE等不同SQL语句的语法与功能。 授课方式:讲授。 习题:填空题8,选择题3~8 9.4 综合例题解析 教学内容:查询数据库中用户表记录数量,从数据库中导出数据并写入Excel 文件,数据库备份。 授课方式:讲解+演示+ 练习。 习题:填空题9,程序设计题 第10 章 基于网页的数据采集 10.1 HTML 基础 教学内容:常用HTML 标签含义,网页源代码阅读方式,动态网页提交参数方式GET和POST的区别。 教学重点:网页源代码阅读方式,动态网页提交参数方式GET 和POST的区别。 授课方式:讲解+演示+ 练习。 习题:选择题7~13,判断题1、2,判断题22,简答题1 10.2 使用标准库urllib和正则表达式re模块编写网络爬虫程序 教学内容:正则表达式基本语法,常用正则表达式元字符含义,标准库re 常用函数功能和语法,使用urllib读取网页源代码,使用正则表达式采集指定内容,常见反爬机制与对抗。 教学重点:使用urllib 读取网页源代码,使用正则表达式采集指定内容,常见反爬机制与对抗。 教学难点:网页源代码阅读与分析,正则表达式与网页源代码之间的对应关系。 授课方式:讲解+演示+ 练习。 思政元素:告诫学生不可滥用爬虫技术,举例说明滥用的严重后果。尊重知识产权,遵守职业道德和行业规范,不滥用技术。《刑法》第二百一十七条,《刑法》第二百五十三条。 习题:填空题1~5,选择题1、2、14、15,判断题3~8、23,简答题2,程序设计题1 10.3 使用扩展库requests和bs4编写网络爬虫程序 教学内容:使用扩展库requests 读取网页源代码,使用扩展库bs4提取网页源代码中的指定内容。 授课方式:讲解+演示+ 练习。 习题:填空题6,判断题9、10、11,程序设计题3 10.4 使用扩展库Scrapy编写网络爬虫程序 教学内容:使用扩展库Scrapy 编写爬虫项目,采集网页源代码,XPath选择器与CSS选择器语法。 教学重点:XPath 选择器与CSS选择器语法。 授课方式:讲解+演示+ 练习。 习题:填空题7~10,选择题3~6,判断题12~21,程序设计题2 10.5 使用扩展库Selenium和MechanicalSoup编写网络爬虫程序 教学内容:借助百度搜索引擎,控制浏览器。 授课方式:讲解+演示+ 练习。 四、各章节课时分配 教学课时分配表(参考) 章节名称 课堂学时 实验学时 课外学时 第1 章 Python开发环境搭建与使用 4 4 第2 章 内置类型、内置函数与运算符 6 8 第3 章 程序控制结构 4 2 8 第4 章 列表、元组 4 2 8 第5 章 字典与集合 4 6 第6 章 字符串 4 2 8 第7 章 函数定义与使用 4 2 8 第8 章 基于文件和设备的数据采集 6 2 8 第9 章 基于SQLite 数据库的数据采集 6 2 6 第10 章 基于网页的数据采集 6 4 8 合计 48 16 72 五、教材、参考书目与在线练习平台 主教材: 1. 董付国. 《Python程序设计与数据采集》(ISBN:9787115611833),人民邮电出版社,2023.5 实验教材: 2. 董付国. 《Python程序设计实验指导书》(ISBN:9787302525790),清华大学出版社 在线练习平台: 1.Python “Python小屋”发送消息“小屋刷题”下载。 其他参考资源: 1. 微信公众号:Python 小屋 2. 董付国编著.Python 数据分析、挖掘与可视化(慕课版)[M].北京:人民邮电出版社,2020 3. 董付国编著.Python 程序设计(第3版)[M].北京:清华大学出版社,2020 4. 董付国编著.Python 程序设计基础(第3版)[M].北京:清华大学出版社,2022 5. 董付国著.Python 程序设计基础与应用(第2版)[M].北京:机械工业出版社,2022 6. 董付国著.Python 网络程序设计[M].北京:清华大学出版社,2021 7. 董付国著.Python 程序设计入门与实践[M].西安:西安电子科技大学出版社,2021 8. 董付国著.Python 数据分析与数据可视化[M].北京:清华大学出版社,2023 =============== 温馨提示: ,在公众号后台发送消息“ 大事记”可以查看董付国老师与Python有关的重要事件;发送消息“ 教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过180次)的适用专业详情;发送消息“ 历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“ 会议”可以查看近期董付国老师的培训安排;发送消息“ 微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“ 课件”可以查看董付国老师免费分享的Python教学资源;发送消息“ 小屋刷题”可以下载“Python小屋刷题神器”,免费练习2435道客观题和648道编程题,题库持续更新;发送消息“ 编程比赛”了解Python小屋编程大赛详情。 返回搜狐,查看更多 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |