《Python程序设计基础与应用》教学大纲参考 2.docx
- 文档编号:2221858
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:13
- 大小:21.43KB
《Python程序设计基础与应用》教学大纲参考 2.docx
《《Python程序设计基础与应用》教学大纲参考 2.docx》由会员分享,可在线阅读,更多相关《《Python程序设计基础与应用》教学大纲参考 2.docx(13页珍藏版)》请在冰点文库上搜索。
《Python程序设计基础与应用》教学大纲参考2
《Python程序设计基础与应用》
教学大纲
院(系、部):
教研室:
日期:
2018年9月20日
一、课程简介
课程名称:
Python程序设计基础与应用课程编号:
课程性质:
必修适用专业:
非计算机专业
前导课程:
无考核方式:
考试
建议学时:
48+16
二、教学目的和要求
通过本课程的学习,使得学生能够理解Python的编程模式,熟练运用Python列表、元组、字典、集合等基本数据类型以及列表推导式、切片等语法来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用正则表达式处理字符串,熟练使用Python读写文本文件与二进制文件,了解Python程序的调试方法,熟练运用Python编写面向对象程序,掌握使用Python编写网络爬虫程序的方法,掌握Python+pandas进行数据处理的基本用法,掌握使用Python+matplotlib进行数据可视化的用法。
在教学和学习过程中,应充分发挥Python语言的优势,从最简单、最直观的思路出发,尽快解决问题。
不建议在底层语言细节上花费太多时间。
三、教学中应注意的问题
Python编程模式中非常重要的一条是代码简单化、问题简单化,同时应保证代码具有较强的可读性。
在教学过程中,尽量避免在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,尽量多使用Python内置函数、标准库对象和合适的扩展库对象,多使用函数式编程模式,保证代码的优雅、简洁,让代码更加Pythonic。
使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,尽量避免自己编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率,同时还能保证代码质量。
例如:
如果需要进行排序则直接使用内置函数或方法进行排序,没有必要再使用选择法排序、冒泡法排序或堆排序等排序算法来编写代码实现,直接使用内置函数sorted()或者列表方法sort()即可;计算最大公约数应习惯于使用math标准库的gcd()函数,不要再自己编写辗转相除法代码;对数据进行随机乱序应使用random标准库中的shuffle()函数;从给定数据集中随机选择元素应使用random标准库中的choice()、choices()或sample()函数;判断年份是否闰年应使用标准库calendar中的isleap()函数;生成组合和排列应使用标准库itertools中的combinations()和permutation()函数。
教学和使用过程中,还应注意一些函数和方法的高级用法。
例如,内置函数sorted()、max()、min()和列表方法sort()都可以指定key参数实现自定义排序规则;内置函数int()可以使用第二个参数来指定进制;扩展库pandas中很多方法都支持inplace参数实现原地操作;扩展库matplotlib中的很多函数都支持大量的参数来指定图形的高级属性。
四、教学内容
第1章Python概述
1.1Python语言简介
教学重点:
Python的命令式编程和函数式编程。
1.2Python版本简介
教学重点:
如何选择正确的Python版本,系统环境变量的设置。
1.3Python开发环境的安装与配置
1.4Python编程规范
教学重点:
缩进,空格与空行,不同数据类型的选择对程序运行效率的影响。
1.5扩展库安装方法
教学重点:
熟练使用pip安装和管理Python扩展库。
1.6标准库与扩展库中对象的导入与使用
教学重点:
三种导入方法之间的区别。
1.7__name__属性的作用
教学重点:
不同方式使用Python程序时__name__属性的值。
第2章内置对象、运算符、表达式、关键字
2.1Python常用内置对象
教学重点:
不需要事先声明变量名及其类型,变量命名规范,数字、字符串、列表、元组、字典、集合的简单使用,数字大小无限制。
2.2Python运算符与表达式
教学重点:
同一个运算有不同含义,关系运算符和逻辑运算符的惰性求值特点。
2.3Python常用内置函数用法
教学重点:
很多函数有基本用法和高级用法,注意这些函数的可选参数;理解函数式编程的模式。
教学难点:
函数式编程。
2.4Python关键字简要说明
第3章Python序列结构
3.1Python序列概述
3.2列表
教学重点:
列表对象的创建与删除,其他类型到列表的转换,使用+运算符、append()方法、extend()方法、insert()方法为列表增加元素,使用del命令、pop()方法、remove()方法删除列表元素,使用下标访问列表元素,使用index()方法获取列表元素下标,使用count()方法获取列表元素出现次数,有序序列的双向索引,使用成员资格判断运算符in判断列表中是否存在指定元素,使用切片访问、修改、删除、增加列表元素,列表排序方法sort()与内置排序函数sorted()以及列表逆序方法reverse()与内置逆序函数reversed(),len()、max()、min()、sum()、zip()、enumerate()等内置函数对列表对象的操作,使用列表推导式快速生成列表。
教学难点:
自动内存管理,切片操作,列表推导式,排序方法的key参数。
3.3元组
教学重点:
元组对象的创建与删除,其他类型到元组的转换,元组与列表的区别,生成器推导式。
教学难点:
元组与列表的区别,元组的不可变特点。
3.4字典
教学重点:
字典对象的创建与删除,字典元素、键、值的访问方法,字典元素的添加与修改,使用字典对象的get()方法获取指定键对应的值,有序字典对象的使用,使用字典来计数,有序字典。
教学难点:
字典对象的get()方法,访问字典对象时可以使用键作为下标,字典对象的键必须为不可变对象。
3.5集合
教学重点:
集合对象的创建与删除,其他类型数据到集合的转换,使用add()方法为集合增加元素,使用pop()和remove()方法删除元素,使用clear()方法清空集合,集合的并、交、差以及对称差等运算,使用集合来提取序列中的唯一元素。
教学难点:
Python运算,集合中的元素都是唯一的。
3.6序列解包
教学重点:
序列解包的本质——对多个变量同时赋值;序列解包的要求——等号右侧值的数量与等号左侧变量的数量一致。
教学难点:
多个变量同时赋值。
第4章选择结构与循环结构
4.1条件表达式
教学重点:
Python关系运算符可以连用,任何合法的Python表达式都可以作为条件表达式,False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空迭代对象作为条件表达式与False等价。
教学难点:
关系运算符可以连用,Python中的False等价对象,几乎所有Python表达式都可以作为条件表达式来使用。
4.2选择结构
教学重点:
单分支选择结构、双分支选择结构、多分支选择结构、选择结构的嵌套,条件表达式后必须有冒号且换行缩进后开始写代码块,elif关键字表达elseif的意思。
教学难点:
缩进体现代码的业务逻辑。
4.3循环结构
教学重点:
for循环、while循环,range对象在循环中的使用,成员测试符in与序列解包在循环语句中的使用,带有else子句的循环结构,编写多层嵌套的循环语句时应尽量减少内循环中的计算;break与continue语句的作用。
教学难点:
带有else子句的循环结构,循环代码的优化。
4.4综合案例解析
教学重点:
体会Pythonic的含义,感受Python程序的美。
第5章函数
5.1函数定义与使用
教学重点:
Python函数的定义形式,def关键字,不需要声明函数的参数类型和返回值类型,括号不可以省略,冒号必须有。
函数嵌套定义。
函数递归调用。
5.2函数参数
教学重点:
形参与实参的概念,在函数内部直接修改形参不会影响实参。
位置参数、默认值参数、关键参数和长度可变参数的用法。
传递参数时的序列解包。
5.3变量作用域
教学重点:
在函数内如果只引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变量;如果在函数内任意位置有为变量赋新值的操作,该变量即被认为是(隐式的)局部变量,除非在函数内显式地用关键字global进行声明。
教学难点:
局部作用域与全局作用域的区别,在函数内部定义全局变量的方法。
5.4lambda表达式
教学重点:
使用lambda表达式声明匿名函数和命名函数,在lambda表达式中调用函数,把lambda表达式作为函数参数。
教学难点:
lambda表达式作为其他函数的参数。
5.5生成器函数设计要点
教学重点:
yield语句和return语句的区别,生成器对象的惰性求值特点。
教学难点:
生成器对象的惰性求值。
5.6综合案例解析
第6章面向对象程序设计
6.1类的定义与使用
教学重点:
Python类的定义,class关键字,创建对象的方法,访问对象中的成员。
6.2数据成员与成员方法
教学重点:
私有成员与公有成员,数据成员与成员方法,类方法与静态方法,属性的定义与使用,混入机制。
6.3继承
教学重点:
继承的作用与Python实现。
6.4特殊方法
教学重点:
构造函数__init__(),析构函数__del__(),__add__()、__mul__()、__pow__()及其他Python类特殊方法与运算符的对应关系。
教学难点:
特殊方法与运算符及内置函数的对应关系。
6.5综合案例解析
第7章字符串
7.1字符串概述
7.2字符串编码格式
教学重点:
ASCII、UTF8、GBK的区别。
7.2转义字符与原始字符串
教学重点:
转义字符的用法,字符串前面加字母r的含义。
7.4字符串格式化
教学重点:
format()方法,格式化的字符串常量。
7.5字符串常用操作
教学重点:
使用find()、index()、count()等方法以及关键字in确定字符串中是否包含另一个字符串,使用split()、partition()方法对字符串进行切分,使用lstrip()、rstrip()、strip()方法连接字符串,使用replace()、translate()对字符串进行“修改”,使用strip()方法删除字符串开始、结束或两侧的指定字符,使用lower()、upper()、capitalize()、title()、swapcase()等方法进行大小写转换,使用startswith()、endswith()方法测试字符串是否以另一个字符串开始或结束,使用center()、ljust()、rjust()等方法对字符串进行排版。
7.6字符串常量
7.7中英文分词
教学重点:
Python扩展库jieba和snownlp的用法。
7.8汉字到拼音的转换
教学重点:
Python扩展库pypinyin的用法。
7.9精彩案例赏析
第8章正则表达式
8.1正则表达式语法
教学重点:
正则表达式基本语法与扩展语法,常用正则表达式的写法。
8.2正则表达式模块re
教学重点:
compile()、match()、search()、findall()、split()、sub()、escape()等re模块常用方法。
8.3match对象
教学重点:
match对象方法的用法。
8.4综合案例解析
第9章文件内容操作
9.1文件的概念与分类
9.2文件操作基本知识
教学重点:
文本文件与二进制文件的概念与访问方法的区别,文件对象,open()方法以及flush()、close()、read()、readline()、readlines()、tell()、write()、writelines()等常用方法,上下文管理语句with的优点与用法。
教学难点:
文件操作三步骤:
打开文件、操作文件、关闭文件。
9.3文本文件基本操作案例精选
教学重点:
文本文件读写方法,read()、write()、seek()等文件对象常用方法的运用。
9.4二进制文件操作案例精选
教学重点:
二进制文件读写方式,对象序列化,pickle、struct、shelve等模块的用法。
9.5Excel与Word文件操作案例
Excel、Word等常见类型文件的操作。
第10章文件与文件夹操作
10.1os模块
教学重点:
文件夹遍历。
10.2os.path模块
教学重点:
路径类型判断,路径连接,获取文件属性。
10.3shutil模块
教学重点:
复制文件,压缩与解压缩,删除目录树。
10.4综合案例解析
第11章异常处理结构
11.1异常的概念与常见表现形式
教学重点:
异常的概念与表现形式。
11.2常用异常处理结构
教学重点:
try...except...、try...except...else...、try...except...finally...
11.3断言语句与上下文管理语句
教学重点:
with语句在文件操作、数据库连接等方面的应用。
第12章tkinter编程案例
12.1tkinter简介
12.2模拟用户登录
教学重点:
文本框与按钮组件的应用,自动填写用户名和密码。
12.3选择类组件应用
教学重点:
单选钮、复选框、组合框、列表框的应用。
12.4简单画图程序
教学重点:
不同类型图形的绘制,删除图形,鼠标事件处理。
12.5电子时钟
教学重点:
多线程,无标题栏、半透明、顶端显示、可拖动窗体的设计。
12.6屏幕颜色选择器
教学重点:
pillow模块应用,鼠标事件处理。
12.7抽奖式提问程序
教学重点:
cycle对象的应用,多线程应用。
12.8简易计算器程序
教学重点:
内置函数eval(),按钮事件处理。
12.9定时自动关闭的窗口
教学重点:
多线程应用,tkinter应用程序的destroy()方法。
第13章网络爬虫入门与应用
13.1HTML与Javascript基础
教学重点:
HTML常用标签,Javascript语法基础、事件、常用对象。
13.2urllib基本应用与爬虫案例
教学重点:
urlopen()函数,提交网页参数,使用代理。
13.3scrapy爬虫案例
教学重点:
scrapy爬虫程序编写流程,选择器应用。
13.4BeautifulSoup用法简介
教学重点:
代码补全,HTML代码解析,获取标签内容或属性。
13.5requests基本操作与爬虫案例
教学重点:
requests基本操作与应用。
13.6selenium爬虫案例
教学重点:
模拟浏览器访问和获取指定页码内容。
第14章Python数据分析与处理
14.1Pandas基本操作
教学重点:
生成一维数组与二维数组,查看二维数组数据,修改二维数组,二维数组预处理,二维数组数据离散化,分组计算,数据差分,读写文件。
14.2Pandas结合matplotlib进行数据可视化
教学重点:
折线图、柱状图的绘制。
14.3Pandas应用案例
第15章数据可视化
教学重点:
中文文本的显示,设置图例。
教学重点:
散点符号、颜色、大小的修改。
教学重点:
饼心位置与半径的设置、阴影设置,pie()函数参数含义与应用。
教学重点:
内部填充、边线属性的设置。
教学重点:
polar()函数应用。
教学重点:
三维曲线、曲线与柱状图的绘制
教学重点:
subplot()函数参数的含义与应用。
教学重点:
legend()函数的应用。
教学重点:
xticks()与yticks()函数的应用。
五、教学课时分配
教学课时分配表(参考)
章节名称
课堂学时
上机学时
第1章Python概述
2
第2章内置对象、运算符、表达式、关键字
4
2
第3章Python序列结构
4
2
第4章选择结构与循环结构
4
2
第5章函数
4
2
第6章面向对象程序设计
2
第7章字符串
4
2
第8章正则表达式
2
第9章文件内容操作
3
2
第10章文件与文件夹操作
2
第11章异常处理结构与单元测试
1
第12章tkinter编程案例
4
2
第13章网络爬虫入门与应用
4
第14章Python数据分析与处理
4
第15章数据可视化
4
2
合计
48
16
六、教材与参考书目
1.教材:
董付国.《Python程序设计基础与应用》,机械工业出版社,2018
2.参考书目:
●董付国.《Python程序设计基础(第2版)》,清华大学出版社,2018
●董付国.《Python程序设计(第2版)》,清华大学出版社,2016
●董付国.《Python可以这样学》,清华大学出版社,2017
●董付国.《Python程序设计开发宝典》,清华大学出版社,2017
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计基础与应用 Python程序设计基础与应用教学大纲参考 Python 程序设计 基础 应用 教学大纲 参考