目 录
一、总体教学目标和要求 3
二、教学中应注意的问题 3
三、教学内容与教学重点 4
第1章 Python开发环境搭建与使用 4
第2章 内置类型、内置函数与运算符 5
第3章 程序控制结构 6
第4章 列表、元组 7
第5章 字典 7
第6章 集合 8
第7章 字符串、正则表达式、文本处理 9
第8章 函数定义与使用 10
第9章 文件与文件夹操作 11
第10章 多媒体编程 12
四、各章节课时分配 13
五、教材、参考书目与在线练习平台 13
课程名称:Python程序设计 课程编号:
课程性质:限制性选修 考核方式:考查
建议学时:48+16或32+32或32+16
前导课程:无。
适用专业:金融科技专业、投资学专业。
一、总体教学目标和要求
通过本课程的学习,使得学生能够:
1)了解Python编码规范,能够编写出优雅的Python程序;
2)熟练使用Python的函数式编程模式;
3)熟练运用Python内置函数与运算符、列表、元组、字典、集合、字符串等基本数据类型以及推导式、切片、序列解包等语法来解决实际问题;
4)熟练掌握Python选择结构、循环结构、异常处理结构的语法和应用,能够编写鲁棒性较强的程序;
5)熟练使用字符串对象方法;
6)了解正则表达式语法和re模块函数;
7)熟练掌握文本文件操作;
8)理解pickle和struct序列化的原理;
9)熟练使用Python处理Word、Excel、PowerPoint、PDF文件;
10)熟练使用Python处理图像、音频、视频文件;
11)具有一定的代码调试与集成能力;
12)具有较强的学习能力、资料查阅能力和代码阅读能力;
13)具有一定的代码优化意识与能力。
二、教学中应注意的问题
Python编程模式中非常重要的一条是代码要优雅、简洁、直观。除了保证功能正确和适当优化之外,同时还应保证代码具有较强的可读性和可维护性。
在教学过程中需要特别注意的是,不要使用其他编程语言的思维去理解和使用Python,不要在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,保证代码的优雅、简洁,让代码更加Pythonic。
Python是以快速解决问题为目的的编程语言,教学过程中不建议在语言细节上花费太多时间。使用Python编程解决问题应充分借鉴和使用成熟的内置对象、标准库对象和扩展库对象,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率,在开发速度和运行速度之间达到最佳平衡。例如,如果需要进行排序则直接使用内置函数sorted()或列表的sort()方法进行排序,切不可再使用选择法排序、冒泡法排序、快速排序算法或堆排序等排序算法来编写代码实现;如果要测试一段代码的运行时间,应使用标准库time或timeit中的有关函数;要测试一个年份是否为闰年,应使用calendar标准库中的isleap()函数;词频统计推荐使用标准库collections中的Counter类;组合、排列推荐使用标准库itertools中的combinations()和permutations()函数;要进行图像处理,建议使用扩展库pillow;要进行计算机图形学编程,建议使用扩展库pyopengl;要进行数组运算、矩阵运算以及科学计算方面的工作,建议使用扩展库numpy和scipy;要进行数据分析与数据处理,建议使用pandas扩展库;要进行数据可视化与科学计算可视化,建议使用matplotlib扩展库;要进行编写爬虫程序,建议使用标准库urllib或扩展库requests、bs4、scrapy;中文分词推荐使用扩展库jieba;拼音处理推荐使用pypinyin;密码学编程建议使用扩展库pycryptodome等等。
另外,在教学过程中,建议简单介绍语法之后通过大量例题来演示其用法,尽量不要枯燥地读语法文档,要以用促学,案例驱动,兴趣驱动。
三、教学内容与教学重点
第1章 Python开发环境搭建与使用
本章教学目标:了解Python语言的应用领域;了解Python语言的特点
熟练安装Python和Anaconda3;熟练安装Python扩展库;了解IDLE、Jupyter和Spyder的简单使用;了解标准库对象和扩展库对象的导入和使用方法;了解Python代码编写规范
1.1 Python语言特点与应用领域
教学内容:Python语言特点,Python应用领域。
习题:1、2
1.2 Python版本选择与IDLE简单使用
教学内容:安装Python,开发环境IDLE交互模式与程序文件模式的简单使用。
1.3 Anaconda3安装与Jupyter Notebook、Spyder简单使用
教学内容:安装Anaconda3,开发环境Jupyter Notebook与Spyder的简单使用。
1.4 安装扩展库
教学内容:标准库与扩展库的概念,安装扩展库。
教学重点:安装过程中根据错误提示信息查找原因并调整安装步骤。
习题:3、4
1.5 标准库、扩展库对象的导入与使用
教学内容:导入与使用标准库、扩展库中的对象。
1.6 Python语言编码规范
教学内容:缩进,适当的空格与空行,标识符命名,标准库与扩展库对象导入顺序,续行符,分隔符,注释。
教学重点:缩进,适当的空格与空行,注释。
习题:5
第2章 内置类型、内置函数与运算符
本章教学目标:了解常用内置数据类型及其简单使用;熟练掌握常用运算符的功能和用法;熟练掌握常用内置函数的功能和用法;了解自定义函数的基本语法;了解lambda表达式的概念和语法含义;了解函数式编程的形式和思路。
2.1 常用内置类型
教学内容:数字、字符串、字节串、列表、元组、字典、集合、函数、lambda表达式等基本概念。
教学重点:数字、字符串、列表、元组、字典、集合的创建与简单使用。
习题:1、2、3、4、5
2.2 运算符与表达式
教学内容:算术运算符,关系运算符,成员测试运算符,集合运算符,逻辑运算符,下标运算符与属性访问运算符,赋值运算符。
教学重点:使用圆括号修改表达式中不同运算符的计算顺序。
习题:6、7、8、9、10、11、19
2.3 常用内置函数
教学内容:类型转换,最大值、最小值,元素数量、求和,排序、逆序,基本输入输出,range(),zip(),enumerate(),next(),dir()、help(),map()、reduce()、filter()。
教学重点:函数参数的高级用法,函数的返回值类型。
习题:12、13、14、15、16、17、18
第3章 程序控制结构
本章教学目标:理解表达式的值与True/False的等价关系;熟练掌握选择结构的语法和应用;熟练掌握循环结构的语法和应用;熟练掌握异常处理结构的语法和应用;熟练掌握选择结构、循环结构、异常处理结构嵌套使用的语法;养成对用户输入进行有效性检查的习惯
3.1 条件表达式
教学内容:表达式的值与True/False的等价关系。
教学重点:等价和相等不是一个意思。
习题:1、2、8、9
3.2 选择结构
教学内容:单分支选择结构;双分支选择结构;嵌套的选择结构。
教学重点:代码缩进。
3.3 循环结构
教学内容:for循环结构;while循环结构;break与continue语句。
教学重点:带else的循环结构执行流程,break语句的作用。
习题:3、4、5、10、11
3.4 异常处理结构
教学内容:常见异常表现形式;异常处理结构语法与应用。
教学重点:异常表现形式,带else的异常处理结构执行流程,异常处理代码也有可能会出错抛出异常。
习题:6、7、12、13
实验项目1:抓狐狸游戏1
第4章 列表、元组
本章教学目标:熟练掌握列表和元组的概念;熟练掌握列表和元组提供的常用方法;熟练掌握常用内置函数对列表和元组的操作;熟练掌握列表和元组支持的运算符;熟练掌握列表推导式的语法和应用;理解列表与元组的相同点与不同点;熟练掌握生成器表达式的语法和应用;熟练掌握切片操作;熟练掌握序列解包的语法和应用。
4.1 列表
教学内容:列表创建与删除;列表元素访问;列表常用方法;列表对象支持的运算符;内置函数对列表的操作。
教学重点:列表方法,列表对运算符与内置函数的支持。
习题:1、2、3、4、5、6、9、11、12
4.2 列表推导式语法与应用
教学内容:列表推导式语法。
4.3 元组与生成器表达式
教学内容:元组创建与元素访问,元组与列表的区别,生成器表达式。
教学重点:元组与列表的区别。
习题:7、8、10
4.4 切片语法与应用
教学内容:切片。
教学重点:切片语法中三个数字的含义,使用切片访问列表、元组、字符串中的部分元素。
习题:13
4.5 序列解包
教学内容:序列解包的不同形式。
教学重点:序列解包的本质是同时为多个元素赋值。
习题:14、15、16、17
实验项目2:抓狐狸游戏2
第5章 字典
本章教学目标:理解字典元素结构;熟练掌握字典方法get()的用法;熟练掌握字典方法update()的用法;熟练掌握字典元素增加与修改的方法;熟练掌握字典方法values()的用法;理解字典方法keys()、items()返回值与集合之间的运算;熟练掌握删除字典元素的方法。
5.1 字典概念与常用方法、
教学内容:创建字典,字典对象的常用方法。
教学重点:字典中“键”必须是可哈希对象且不重复。
习题:1、2、3、4、5
5.2 字典创建与删除
教学内容:使用大括号创建字典,使用dict类的不同的形式创建字典。
习题:8
5.3 字典元素访问
教学内容:下标访问,get()方法。
教学重点:使用字典对象的get()方法获取元素的“值”。
习题:6、10、11、12
5.4 字典元素添加与修改
教学内容:为字典添加元素,修改元素的“值”。
教学重点:使用下标为字典赋值的语句的两种含义。
习题:7、9
5.5 字典元素删除
教学内容:使用字典方法pop()、popitem()、clear()以及关键字del删除元素。
习题:13、14
实验项目3:电影打分与推荐
第6章 集合
本章教学目标:理解集合元素无序、不重复的特点;熟练掌握创建集合的不同形式;理解并熟练掌握集合常见运算;熟练掌握集合对象的常用方法;熟练掌握集合对运算符和内置函数的支持;够使用集合解决实际问题。
6.1 基本概念
教学内容:集合对象的概念与特点。
习题:1、2、3、4、5
6.2 集合创建与删除
教学内容:使用大括号创建集合,使用set()把其他可迭代对象转换为集合。
教学重点:集合中的元素不会重复。
习题:6、7
6.3 集合常用方法
教学内容:原地增加/删除集合元素,计算交集/并集/差集/对称差集返回新集合,集合测试。
教学重点:集合运算。
习题:8、9、10
实验项目4:蒙蒂·霍尔悖论游戏
第7章 字符串、正则表达式、文本处理
本章教学目标:了解字符串不同编码格式的区别;熟练掌握字符串编码方法encode()与字节串解码方法decode()的使用;熟练掌握字符串格式化方法与格式化字符串字面值的使用;熟练掌握字符串方法split()、join()的使用;熟练掌握字符串方法strip()、lstrip()、rstrip()的使用;熟练掌握字符串方法startswith()、endswith()的使用;熟练掌握字符串方法replace()、maketrans()、translate()的使用;熟练掌握字符串方法ljust()、rjust()、center()的使用;熟练掌握字符串方法lower()、upper()的使用;了解标准库string、zlib、json、textwrap的基本用法;了解正则表达式基本语法和工作原理;了解正则表达式re中常用函数的用法;了解扩展库jieba、pypinyin的基本用法;了解繁体中文与简体中文互相转换的原理和使用
7.1 字符串方法及应用
教学内容:字符串常用方法清单,字符串编码与解码,字符串格式化,find()、rfind()、index()、rindex(),split()、rsplit()、splitlines()、join(),replace()、maketrans()、translate(),center()、ljust()、rjust(),字符串测试,strip()、rstrip()、lstrip()。
教学重点:字符串所有方法都不会修改原来的字符串内容。
习题:1、2、3、7、8、9、11、12、13、14、25、26
7.2 部分标准库对字符串的处理
教学内容:标准库string,标准库zlib与文本压缩,标准库json与序列化,标准库textwrap,标准库re与正则表达式。
教学重点:标准库zlib,标准库re与正则表达式语法。
习题:4、5、6、10、15、16、17、18、19、20、21、22、23、24
7.3 部分扩展库对字符串的处理
教学内容:中英文分词,中文拼音处理,繁体中文与简体中文的互相转换。
第8章 函数定义与使用
本章教学目标:熟练掌握函数定义与调用的语法;理解递归函数执行过程;理解嵌套定义函数的执行过程;理解位置参数、默认值参数、关键参数和可变长度参数的原理并能够熟练使用;熟练掌握变量作用域的概念和使用;理解不同作用域的搜索顺序;熟练掌握lambda表达式语法与应用;理解生成器函数的工作原理;理解修饰器函数的工作原理。
8.1 函数定义与调用
教学内容:基本语法,递归函数定义与调用,函数嵌套定义。
教学重点:函数定义与调用的语法,缩进。
习题:1、3、11、14
8.2 函数参数
教学内容:位置参数,默认值参数,关键参数,可变长度参数。
教学重点:位置参数,默认值参数,关键参数,可变长度参数。
习题:2、5、6、15
8.3 变量作用域
教学内容:变量作用域的分类,作用域的搜索顺序。
教学重点:global关键字的作用,作用域的搜索顺序。
习题:4、8、10、17、18
8.4 lambda表达式语法与应用
教学内容:lambda表达式语法与应用场景。
教学重点:lambda表达式语法与应用场景。
习题:7、12、13、16
8.5 生成器函数定义与使用
教学内容:yield关键字,生成器对象,生成器函数中代码的执行过程。
教学重点:yield与return的区别,生成器函数中代码的执行过程。
习题:9
8.6 修饰器函数定义与使用
教学内容:修饰器函数定义与使用。
教学重点:修饰器工作原理。
习题:19、20、21、22、23
第9章 文件与文件夹操作
本章教学目标:熟练掌握内置函数open()的用法与参数含义;熟练掌握文件对象方法读写文件内容的使用;熟练掌握上下文管理语句with的用法;熟练掌握json模块的使用;熟练掌握csv模块的使用;理解pickle和struct序列化的原理以及这两个模块的简单使用;熟练掌握os、os.path、shutil模块的使用;熟练掌握Python操作docx、xlsx、pptx格式文件的方法和扩展库使用;了解Python操作PDF文件的方法和扩展库。
9.1 文件操作基础
教学内容:内置函数open(),文件对象常用方法,上下文管理语句with。
教学重点:内置函数open()参数含义,文件对象的读写方法,关键字with。
习题:1、2、3、9、10、11、15
9.2 JSON文件操作实战
教学内容:json标准库的用法。
习题:4、5
9.3 CSV文件操作实战
教学内容:csv标准库的用法。
9.4 Python对象序列化与二进制文件操作
教学内容:pickle序列化,struct序列化。
教学重点:序列化与反序列化的目的。
习题:6
9.5 文件与文件夹操作
教学内容:os模块,os.path模块,shutil模块。
教学重点:递归遍历目录树。
习题:19
9.6 Office文档操作实战
教学内容:Word文档操作实战,Excel文件操作实战,PowerPoint文件操作实战。
教学重点:docx、xlsx、pptx文件结构分析,扩展库python-docx、openpyxl、python-pptx的安装与使用。
习题:7、8、12、13、14、16、17、18、20、21、22、23、24
9.7 PDF文件操作实战
教学内容:扩展库pdfminer3k、pdf2image、PyPDF2、reportlab、pywin32的安装与使用。
实验项目5:Word文件转图片式PDF文件
实验项目6:生成数据模拟身份信息并写入Excel文件
实验项目7:查找包含指定字符串的Office文档
第10章 多媒体编程
本章教学目标:熟练安装本章使用的扩展库;了解图像处理基本原理与常用技术;了解扩展库pillow基本用法;了解音乐采集、播放、编辑的基本原理;了解扩展库pygame、pyaudio、scipy在音频方面的基本用法;了解视频采集和编辑的基本原理;了解扩展库opencv_python、moviepy在视频处理方面的基本用法。
10.1 图像处理
教学内容:扩展库pillow简单使用,查看图像信息,图像缩放,图像滤波,图像旋转,图像点运算。
习题:1、2、3、4、5、6、14、15
10.2 音频处理实战
教学内容:使用pygame扩展库播放音乐,使用标准库wave和扩展库pyaudio播放音乐,使用pyaudio扩展库开发录音机程序,使用scipy扩展库编辑和处理音乐。
习题:7、8、16
10.3 视频采集与处理实战实战
教学内容:使用OpenCV实现视频采集和处理,使用moviepy进行视频编辑与处理。
习题:9、10、11、12、13、17
实验项目8:批量为图像添加水印
实验项目9:自己动手开发录屏软件
四、各章节课时分配
教学课时分配表(参考)
章 节 名 称 课堂学时 实验学时 课外学时
第1章 Python开发环境搭建与使用 4 6
第2章 内置类型、内置函数与运算符 4 12
第3章 程序控制结构 4 2 8
第4章 列表、元组 6 2 12
第5章 字典 2 2 8
第6章 集合 2 2 8
第7章 字符串、正则表达式、文本处理 6 2 16
第8章 函数定义与使用 4 2 6
第9章 文件与文件夹操作 8 2 16
第10章 多媒体编程 8 2 16
五、教材、参考书目与在线练习平台
教材:
- 董付国.《Python程序设计实用教程》(ISBN:9787563560653),北京邮电大学出版社
在线练习平台: - Python小屋刷题神器,可以关注微信公众号“Python小屋”发送消息“小屋刷题”下载。
参考资源: - 微信公众号:Python小屋
- 董付国.《Python程序设计(第3版)》(ISBN:978-7-302-55083-9),清华大学出版社,2020
- 董付国.《Python可以这样学》(ISBN:978-7-302-45646-9),清华大学出版社
- 董付国.《Python程序设计开发宝典》(ISBN:978-7-302-47210-0),清华大学出版社
- 董付国,应根球.《中学生可以这样学Python(微课版)》(ISBN:978-7-302-55463-9),清华大学出版社
- 董付国.《Python程序设计基础(第2版)》(ISBN:978-7-302-49056-2),清华大学出版社
- 董付国.《玩转Python轻松过二级》(ISBN:978-7-302-49916-9),清华大学出版社
- 董付国.《Python程序设计基础与应用》(ISBN:978-7-111-60617-8),机械工业出版社
- 董付国,应根球.《Python编程基础与案例集锦(中学版)》(ISBN:978-7-121-35539-4),电子工业出版社
- 董付国.《大数据的Python基础》(ISBN:978-7-111-62455-4),机械工业出版社
- 董付国.《Python程序设计实验指导书》(ISBN:9787302525790),清华大学出版社
- 董付国.《Python程序设计实例教程》(ISBN:978-7-111-63198-9),机械工业出版社
- 董付国.《Python数据分析、挖掘与可视化》(ISBN:978-7-115-52361-7),人民邮电出版社
error cum officiis accusamus molestiae nostrum modi eos porro similique voluptatibus. voluptatum cumque labore saepe odio eligendi atque omnis. tempore magni quas aut quasi totam ut. ipsa hic deleniti
in officiis laborum nostrum officiis deleniti minus dolore aliquam ut et eligendi molestias consequatur similique aut non aspernatur. possimus quis sequi dolore ducimus quia sed omnis incidunt quis om
doloribus qui sed aut numquam dignissimos excepturi nesciunt velit asperiores aliquam beatae possimus. quae doloribus et neque accusantium dolores quo labore repellat doloremque nesciunt sapiente eaqu
amet nobis ipsum impedit est dolor dicta sequi rerum aut enim vero enim perspiciatis sed eligendi. et sed debitis et eum et necessitatibus ad consequatur accusamus in veniam architecto quis a amet mol
博主真是太厉害了!!!
博主真是太厉害了!!!
看的我热血沸腾啊
想想你的文章写的特别好
看的我热血沸腾啊https://www.ea55.com/
想想你的文章写的特别好www.jiwenlaw.com
不错不错,我喜欢看 www.jiwenlaw.com
想想你的文章写的特别好www.jiwenlaw.com
哈哈哈,写的太好了https://www.cscnn.com/
哈哈哈,写的太好了https://www.cscnn.com/
真好呢
你的文章让我学到了很多技能,非常实用。 http://www.55baobei.com/RKY0PvjOmd.html
看到你的文章,我仿佛感受到了生活中的美好。 https://www.yonboz.com/video/27562.html
你的文章让我感受到了不一样的风景,谢谢分享。 http://www.55baobei.com/saascokhkT.html
《真三国无双》动作片高清在线免费观看:https://www.jgz518.com/xingkong/40653.html
看到你的文章,我仿佛感受到了生活中的美好。 http://www.55baobei.com/hZt0YxHduL.html
你的才华横溢,让人敬佩。 http://www.55baobei.com/VuF2KoyOKz.html
你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/F5ywmlNuMJ.html
你的文章让我感受到了艺术的魅力,谢谢! https://www.yonboz.com/video/74051.html
你的文章让我学到了很多知识,非常感谢。 http://www.55baobei.com/QCaTEJSZBv.html
你的文章内容非常用心,让人感动。 https://www.yonboz.com/video/35608.html
看到你的文章,我仿佛感受到了生活中的美好。 http://www.55baobei.com/hZt0YxHduL.html
你的文章内容非常专业,让人佩服。 https://www.yonboz.com/video/12314.html
你的文章让我心情愉悦,每天都要来看一看。 http://www.55baobei.com/h8icdkuqfv.html
真好呢
你的文章内容非常专业,让人佩服。 https://www.yonboz.com/video/12314.html
你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/F5ywmlNuMJ.html
你的文章让我心情愉悦,每天都要来看一看。 http://www.55baobei.com/h8icdkuqfv.html
huiyouduoapp.com
int-ifle.com
《高岭之花2》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/58513.html
《彼得卢》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/73616.html
《绝望主妇第八季》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/85815.html
《车祸惊魂》动作片高清在线免费观看:https://www.jgz518.com/xingkong/96692.html
你的文章让我感受到了不一样的视角,非常精彩。 https://www.yonboz.com/video/54687.html
你的文章让我学到了很多技能,非常实用。 https://www.yonboz.com/video/37715.html
你的文章内容非常用心,让人感动。 https://www.4006400989.com/qyvideo/40792.html
你的文章内容非常专业,让人佩服。 http://www.55baobei.com/3qjEqmhpbp.html
你的文章让我学到了很多技能,非常实用。 https://www.4006400989.com/qyvideo/4264.html
你的文章内容非常卖力,让人点赞。 http://www.55baobei.com/yELxLS2bQY.html
《流氓大亨国语》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/27854.html
《绝望主妇第八季》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/85815.html
你的文章让我学到了很多技能,非常实用。 http://www.55baobei.com/NEOPBQlUAL.html
你的文章总是能给我带来欢乐,谢谢你! http://www.55baobei.com/PVIpSYA4V4.html
你的文章让我感受到了不一样的视角,非常精彩。 https://www.yonboz.com/video/61566.html
你的文章让我学到了很多知识,非常感谢。 http://www.55baobei.com/jVpDmosx9C.html
你的文章内容非常专业,让人佩服。 https://www.yonboz.com/video/40128.html
《2014湖南卫视跨年演唱会》大陆综艺高清在线免费观看:https://www.jgz518.com/xingkong/55091.html
你的文章内容非常专业,让人佩服。 http://www.55baobei.com/AzGNE4rIqb.html
《绝望主妇第八季》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/85815.html
你的文章让我感受到了快乐,每天都要来看一看。 https://www.yonboz.com/video/23723.html
你的文章让我学到了很多知识,非常感谢。 https://www.yonboz.com/video/5544.html
你的文章内容非常专业,让人佩服。 https://www.yonboz.com/video/58215.html
《最后一击2024》科幻片高清在线免费观看:https://www.jgz518.com/xingkong/153030.html
《行骗天下JP》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/31625.html
哈哈哈,写的太好了https://www.lawjida.com/