《Python数据处理》课程教学大纲
一、课程基本信息
课程代码:22290053
课程名称:Python数据处理
英文名称:PythonData Processing
课程类别:专业课
学时:总学时48,其中理论讲授24学时,实验24学时
学 分:3
适用对象:数据科学与大数据技术、大数据管理与应用、数字经济专业
考核方式:考试
先修课程:无
二、课程简介
中文简介
本课程面向初学者或有一定编程基础的学生,讲授Python语言的基础知识和数据处理的方法,包括Python的语言基础、数据类型、程序的流程控制结构、函数与代码复用、文件处理和面向对象编程的编程等实用知识,使学生掌握Python语言的基本语法以及程序设计的基本思维和方法,掌握使用Python第三方库进行Python常规项目的开发,为后续的课程(比如数据采集、大数据分析、机器学习等)打下良好基础。更重要的是,培养学生应用计算机解决实际问题的思维方法与基本编程能力。 通过本课程的学习,学生不仅要掌握Python编程的核心技能,还培养学生解决实际问题的逻辑思维和编程能力,为未来的学习和职业发展奠定坚实基础。
英文简介
This course is designed for beginners or students with a certain programming background, introducing fundamental knowledge and data processing methods of the Python language. It covers practical knowledge including Python language basics, data types, program flow control structures, functions and code reuse, file handling, and object-oriented programming. The aim is to enable students to master the basic syntax of the Python language and fundamental thinking and methods of program design. Additionally, students will learn to use third-party libraries for developing routine Python projects, laying a solid foundation for subsequent courses such as data collection, big data analysis, and machine learning. More importantly, this course cultivates students' thinking methods and basic programming abilities to solve practical problems using computers. Through this course, students will not only grasp the core skills of Python programming but also develop logical thinking and programming abilities to solve real-world problems, laying a solid foundation for future learning and career development.
三、课程性质与教学目的
课程性质:专业基础必修课。
教学目的:
1. 知识目标:要求规范掌握Python语言的语法,能书写出正确的Python语言代码等;
2. 技能目标:熟悉Python语言开发环境的搭建,编写出具有一定复杂度的、规范的、符合算法设计大型项目程序;能够学会数据处理的方法;
3. 素养目标:养成善于动脑、勤于思考的学习习惯;养成规范的软件代码编写习惯;具有良好的沟通能力和团队协作精神等。
四、教学内容及要求
第一章 Python程序设计导论
目的与要求
了解Python开发环境配置;
了解程序的基本编写方法。
教学内容
第一节 Python语言概述
主要内容
程序设计语言概述;
Python语言概述;
Python程序开发环境配置;
安装和管理Python扩展包。
基本概念和知识点
程序设计与编程语言;
Python语言的优势;
Python集成开发环境搭建。
问题与应用(能力要求)
Python开发环境配置。
第二节 Python程序的执行
主要内容
运行Python程序的两种方式;
Python程序的打包和发布。
基本概念和知识点
交互式与文件式执行方式;
Python源文件。
问题与应用(能力要求)
编写简单程序:输出Hello world和计算圆面积,进而生成可执行文件。
思考与实践
思考Python语言的优势。
掌握Python开发环境的搭建。
实践:编写简单程序:输出Hello world和计算圆面积、生成可执行程序、学生安装第三方库。
教学方法与手段
本章主要采用课堂教学、多媒体教学、网络教学的方式将Python的语言的有点和Python开发环境搭建传授给学生。
课程思政融入主要体现:强调Python语言的通用性和实用性,引导学生理解编程技术不仅是一种工具,更是一种解决问题的思维方式,通过编程,我们可以更加高效、准确地处理数据、分析问题,为社会的创新和发展提供有力支持。强调程序执行的严谨性和逻辑性,引导学生理解在编程过程中要遵循一定的规则和流程,如同在社会生活中要遵守法律法规和道德规范。
第二章 Python语言基础
目的与要求
了解Python语言的基本语法;
掌握Python语言的标识符和数据类型。
教学内容
第一节 标识符及其命名规则
主要内容
标识符和保留字;
命名规则;
Python赋值语句与对象和引用。
基本概念和知识点
标识符和保留字;
对象的内存示意图;
不可变对象和可变对象。
问题与应用(能力要求)
本章重点内容,掌握Python程序中对变量、函数和类等的命名,理解不可变和可变对象。
第二节 数据类型
主要内容
整数类型;
浮点数类型;
复数类型;
布尔类型;
字符串类型;
组合数据类型。
基本概念和知识点
数据类型;
整数、浮点数、复数、布尔类型、字符串。
问题与应用(能力要求)
本章重点的内容之一,正确地使用适当的数据类型保存数据对象。
思考与实践
思考Python的语法基础;
思考turtle库的基本原理;
实践:综合使用 Python的turtle库绘制图像。
教学方法与手段
本章主要采用课堂教学、多媒体教学、实验教学的方式将Python语言基础和turtle库的绘图基本原理传授给学生,同时让学生理解和思考Python开发所需要掌握的技术。
课程思政融入主要体现:在讲到命名规则时,强调命名规范的重要性,如同在社会生活中要遵守规则和礼仪。引导学生理解,规范的命名可以提高代码的可读性和可维护性,有助于团队协作和沟通;在讲授数据类型时,引导学生理解,数据类型是编程的基础,如同在社会生活中,不同的角色和身份对应着不同的责任和义务。在编程中,要根据实际需求选择合适的数据类型,确保程序的正确性和效率。
第三章 程序流程控制
目的与要求
熟悉程序的基本结构;
熟悉程序的分支结构;
熟练程序的循环结构。
教学内容
第一节 程序的基本结构
主要内容
程序的流程图;
程序的三种基本结构;
基本概念和知识点
顺序结构;
分支结构;
循环结构。
问题与应用(能力要求)
程序的基本结构实例,圆面积和周长的计算。
第二节 程序的分支结构
主要内容
(1)单分支结构;
(2)二分支结构;
(3)多分支结构。
2. 基本概念和知识点
(1)if语句;
(2)if-else语句;
if-elif-else语句。
3.问题与应用(能力要求)
程序的分支结构实例:计算身体质量指数BMI。
第三节 程序的循环结构
1.主要内容
(1)遍历循环;
(2)无限循环;
(3)退出循环。
2. 基本概念和知识点
(1)for语句;
(2)while语句;
(3)break和continue。
3.问题与应用(能力要求)
程序的循环结构实例,random库的使用。
第四节 错误和异常处理
1.主要内容
(1)程序的错误;
(2)异常处理;
(3)内置异常类和自定义异常类;
(4)引发异常和捕获处理异常。
2. 基本概念和知识点
(1)常见的错误;
(2)异常处理。
3.问题与应用(能力要求)
掌握程序的异常处理。
思考与实践
在编写程序时,如何根据实际需求选择合适的流程控制语句?
遇到异常时,应该如何处理才能确保程序的稳定性和可靠性?
实践:创建程序的循环结构实例、π的计算。
教学方法与手段
本章主要采用课堂教学、多媒体和实验教学的方式将程序的基本结构、分支结构、循环结构知识传授给学生。
课程思政融入主要体现:引导学生思考,在编程中如何根据不同的条件和需求做出正确的选择,如同在生活中要明辨是非,坚持正确的价值观;强调在编程中合理使用循环,避免无限循环和浪费资源,引导学生理解节约资源、保护环境的重要性;在编程过程中遇到异常是正常现象,关键在于如何正确处理这些异常,就如同在生活中遇到困难和挫折时,要有积极面对和解决问题的态度。
第四章 函数和代码复用
目的与要求
了解函数的基本使用;
熟悉函数的参数传递;
熟练代码的复用和模块化设计;
掌握函数的递归。
教学内容
第一节 函数的声明和调用
主要内容
函数的创建;
函数调用的过程;
lambda表达式和匿名函数。
基本概念和知识点
函数调用的四个步骤;
lambda函数。
问题与应用(能力要求)
了解函数调用的过程以及熟悉lambda函数。
第二节 函数的参数传递
主要内容
可选参数和可变数量参数;
位置参数和命名参数;
可变参数;
参数的类型检查;
函数的返回值。
基本概念和知识点
函数对变量的作用;
函数的返回值。
问题与应用(能力要求)
掌握函数的参数传递、返回值和变量的作用域。
第三节 变量的作用域
主要内容
全局变量和局部变量;
全局语句global和非局部语句nonlocal;
基本概念和知识点
全局变量;
局部变量。
问题与应用(能力要求)
理解变量的作用域。
第四节 递归函数
主要内容
递归函数的定义;
递归函数的原理;
递归函数的应用;
基本概念和知识点
递归函数;
递归函数的基本原理。
问题与应用(能力要求)
了解递归的定义和使用方式,并掌握实例最大公约数和科赫曲线绘制。
思考与实践
思考在编程实践中如何更好地利用函数实现代码复用?
思考递归在哪些场景下特别适用?在哪些场景下应该避免使用递归?
如何在未来的编程实践中运用代码复用和递归思想解决复杂问题?
实践:掌握应用实例:求解最大公约数和科赫曲线绘制。
教学方法与手段
本章主要采用课堂演示、多媒体、实验等教学方式将函数的基本使用、参数传递、递归思想传授给学生。
课程思政融入主要体现:引导学生理解,函数参数和返回值的处理如同人与人之间的沟通和协作,需要遵循一定的规则和约定,确保信息的准确传递和有效交流。通过精心设计和使用函数参数和返回值,可以提高代码的可重用性和可扩展性,体现编程中的团队协作和创新精神。强调代码复用不仅是一种技术手段,更是一种工匠精神和责任担当的体现。通过复用已有的函数和代码,可以减少重复劳动,提高工作效率,为社会的科技进步和发展做出贡献。同时,引导学生关注代码的质量和可维护性,形成良好的编程习惯和职业素养。强调递归思想在解决问题中的重要作用,如同在生活中面对复杂问题时,需要运用层层分解、逐步求解的方法。引导学生理解,递归不仅是一种编程技巧,更是一种解决问题的思维方式,体现了人类思维的深刻性和复杂性。
第五章 组合数据类型
目的与要求
了解3类基本组合数据类型;
掌握列表概念并掌握Python中列表的使用;
掌握字典概念并掌握Python中字典的使用;
运用组合数据类型进行文本词频统计。
教学内容
第一节 序列类型及其基本操作
主要内容
序列类型的定义;
序列类型处理函数及方法;
列表的创建和基本操作;
元组的创建和基本操作。
基本概念和知识点
什么是序列类型;
序列类型有哪三种类型。
问题与应用(能力要求)
理解三种序列类型的区别。
第二节 集合类型及其操作
主要内容
集合类型的定义;
集合操作符;
集合处理方法及其应用;
基本概念和知识点
什么是集合;
集合间的操作及其操作符。
问题与应用(能力要求)
掌握集合处理的各种方法。
第三节 字典类型及其操作
主要内容
字典类型的定义;
字典类型操作函数。
基本概念和知识点
映射;
键值对。
问题与应用(能力要求)
掌握字典类型的应用。
第四节 jieba库及文本词频统计
主要内容
jieba库的概述与安装;
jieba库分词原理;
jieba库的使用。
基本概念和知识点
分词;
分词的三种模式:精确模式、全模式、搜索引擎模式。
问题与应用(能力要求)
掌握jieba分词的应用:文本词频统计。
思考与实践
思考三种组合类型的区别;
实践:利用jieba分词统计中国古典小说中人物出场次数。
教学方法与手段
本章主要采用课堂演示、多媒体、实验等教学方式将组合数据类型的知识传授给学生,同时让学生掌握组合数据类的不同应用场景。
课程思政融入体现:中国文学史上,《三国演义》毫无疑问是影响力最大的小说之一,书中的人物家喻户晓,智慧的代言人诸葛亮、红脸的关公和白脸的曹操……这些历史人物的形象定位几乎都来自于《三国演义》。该书中数百个栩栩如生的角色,究竟谁才是罗贯中的主角呢?刘备?诸葛亮?还是曹操?空口无凭,可使用本节的知识点编程来统计《三国演义》人物的出场次数。文本词频统计不仅是一种数据处理技术,更是一种信息分析手段。通过词频统计,我们可以了解文本的主题、情感倾向等信息,为决策和判断提供依据。
第六章 输入、输出和文件处理
目的与要求
了解程序的输入输出方式;
掌握文件的读写方法以及打开和关闭等基本操作;
理解数据组织的维度及其特点;
掌握一二维数据的存储格式和读写方法;
运用json库进行数据的维度转换;
了解高维数据的存储格式和读写方法。
教学内容
第一节 程序的输入输出
主要内容
命令行参数;
标准输入输出函数。
基本概念和知识点
命令行参数;
标准输入输出。
问题与应用(能力要求)
掌握程序的输入输出方法。
第二节 文件和文件对象
主要内容
文件的类型;
文件的打开和关闭;
文件内容的读取;
数据写入文件。
基本概念和知识点
文件;
文件读写。
问题与应用(能力要求)
掌握不同文件类型的读写。
第三节 低维数据格式化和处理
主要内容
数据组织的维度;
一二维数据的存储格式;
一二维数据的表示和读写;
实例:CSV文件的读写。
基本概念和知识点
数据的表示;
数据的存储格式。
问题与应用(能力要求)
掌握低维数据的格式化。
第四节 高维数据的格式化
主要内容
JSON文件格式;
JSON库的使用;
实例:JSON格式与Python数据类型的转换。
基本概念和知识点
序列化;
JSON文件格式的键值对约定;
JSON库的解析函数。
问题与应用(能力要求)
掌握JSON文件格式及JSON库的使用。
思考与实践
思考:在编程实践中如何确保输入输出的准确性和可读性?
实践:读取csv文件上的一个班学生的5门课的成绩,统计最高分、每门课的平均分,并写入文件。
教学方法与手段
本章主要采用课堂演示、多媒体、实验等教学方式将程序的输入输出和文件处理操作技术传授给学生。
课程思政融入体现:在信息社会中,正确的输入和输出是获取和处理信息的基础。引导学生在编程实践中,要遵循规范的输入和输出格式,确保信息的准确性和可读性,体现对信息质量的追求和责任感。文件处理不仅是编程中的一项技能,更是信息管理和数据交流的重要手段。在处理文件时,要尊重文件的版权和隐私,遵守相关法律法规和伦理规范,体现对信息安全的重视和保护。
第七章 字符串和文本处理
目的与要求
理解字符串对象;
掌握字符串对象的创建;
掌握字符串格式化;
掌握正则表达式。
教学内容
第一节 字符串及其格式化
主要内容
字符串对象及其处理;
字符串格式化。
基本概念和知识点
字符串对象;
字符串格式化。
问题与应用(能力要求)
掌握字符串的应用。
第二节 文本处理与可视化
主要内容
文本处理方法;
正则表达式;
词云库wordcloud;
基本概念和知识点
正则表达式;
词云。
问题与应用(能力要求)
掌握文本处理及其可视化。
思考与实践
思考:中文与英文在使用wordcloud库可视化时有何区别?
实践:读取政府报告文件,使用词云直观理解文件精神。
教学方法与手段
本章主要采用课堂演示、多媒体等教学方式讲授字符串和文本处理技术。
课程思政融入体现:无论是每年年初的两会,还是党的代表大会等,如何让学生迅速直观地理解和把握会议精神和工作报告或政策的内容是一个很重要的事情。通过学习本节的知识,读取会议或工作报告文件,使用WordCloud库生成词云,能有效地展示高频率的关键词,从而快速抓住主题理解会议精神和政府的政策。
第八章 面向对象的程序设计基础
目的与要求
了解面向对象的概念;
理解类对象和实例对象;
理解类的继承。
教学内容
第一节 面向对象的概念
主要内容
类的三大特点:封装、继承和多态;
类的定义;
类和实例对象;
类的属性。
基本概念和知识点
封装、继承、多态;
类对象和实例对象;
属性。
问题与应用(能力要求)
掌握类和对象的创建、类/对象的属性的定义。
第二节 类的方法和继承
主要内容
类的方法;
类的一些特殊方法;
类的继承。
基本概念和知识点
公有方法和私有方法;
方法重载;
继承和派生类。
问题与应用(能力要求)
掌握正确的定义和使用类的一般方法的特殊方法以及类的继承。
思考与实践
思考:在使用面向对象编程时,如何保证代码的可读性和可维护性?
实践:编写汽车类和颜色类。
教学方法与手段
本章主要采用课堂演示、多媒体、实验等教学方式讲授了面向对象的程序设计基础。
课程思政融入体现:强调面向对象编程不仅仅是一种技术,更是一种思维方式。引导学生理解,在生活和工作中,我们也要学会从整体和系统的角度去看待问题,培养全局观念和系统思维。继承和多态是面向对象编程中实现代码重用和扩展性的重要手段。在社会生活中,我们也要学会借鉴前人的经验和智慧,同时不断创新和发展,为社会的进步做出贡献。
五、各教学环节学时分配
教学环节 教学时数 课程内容 | 讲 课 | 习 题 课 | 讨 论 课 | 实验 | 其他教学环节 | 小 计 |
第一章 | 2 | 0 | 0 | 2 | 0 | 4 |
第二章 | 2 | 0 | 0 | 2 | 0 | 4 |
第三章 | 4 | 0 | 0 | 4 | 0 | 8 |
第四章 | 4 | 0 | 0 | 4 | 0 | 8 |
第五章 | 4 | 0 | 0 | 4 | 0 | 8 |
第六章 | 4 | 0 | 0 | 4 | 0 | 8 |
第七章 | 2 | 0 | 0 | 2 | 0 | 4 |
第八章 | 2 | 0 | 0 | 2 | 0 | 4 |
合计 | 24 | 0 | 0 | 24 | 0 | 48 |
“各教学环节学时分配”中,“其它教学环节”主要指习题课、课堂讨论、课程设计、看录相、现场参观等教学环节。
六、推荐教材和教学参考资源
[1] 江红、余青松. Python编程从入门到实战. 北京: 清华大学出版社,2021.5.
[2] 嵩天、礼欣、黄天羽. python语言程序设计基础 第二版. 北京: 高等教育出版社, 2017.
[3] 明日科技. Python从入门到精通. 北京: 清华大学出版社, 2018.
[4] Eric Matthes. python基础教程. 北京: 人民邮电出版社, 2020.
[5] 教育部考试中心. 全国计算机等级考试二级教程——Python语言程序设计. 北京: 高等教育出版社, 2019.
[6] iCourse. https://python123.io/
[7] CSDN学院.http://edu.csdn.net/
七、其他说明
期末课程设计由学生分组组成团队完成,每个团队限制为3个人,开发Python程序应用软件,最后,每个团队要交程序源码以及实验报告。
大纲修订人:陈光明 修订日期:2024.3.14
大纲审定人:张严 审定日期:2024.3.15