《Python程序设计基础与应用》
教 学 大 纲
院(系、部):
教研室: 日 期:
2018年9月20日
目 录
一、 课程简介 .................................................................................................................................. 1 二、 教学目的和要求 ...................................................................................................................... 1 三、 教学中应注意的问题............................................................................................................... 1 四、 教学内容 .................................................................................................................................. 1 五、 教学课时分配 ........................................................................................................................ 11 六、 教材与参考书目 .................................................................................................................... 12
一、 课程简介
课程名称:Python程序设计基础与应用 课程编号:
课程性质:必修 适用专业:非计算机专业 前导课程:无 考核方式:考试 建议学时:48+16
二、 教学目的和要求
通过本课程的学习,使得学生能够理解Python的编程模式,熟练运用Python列表、元组、字典、集合等基本数据类型以及列表推导式、切片等语法来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用正则表达式处理字符串,熟练使用Python读写文本文件与二进制文件,了解Python程序的调试方法,熟练运用Python编写面向对象程序,掌握使用Python编写网络爬虫程序的方法,掌握Python+pandas进行数据处理的基本用法,掌握使用Python+matplotlib进行数据可视化的用法。
在教学和学习过程中,应充分发挥Python语言的优势,从最简单、最直观的思路出发,尽快解决问题。不建议在底层语言细节上花费太多时间。
三、 教学中应注意的问题
Python编程模式中非常重要的一条是代码简单化、问题简单化,同时应保证代码具有较强的可读性。在教学过程中,尽量避免在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,尽量多使用Python内置函数、标准库对象和合适的扩展库对象,多使用函数式编程模式,保证代码的优雅、简洁,让代码更加Pythonic。
使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,尽量避免自己编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率,同时还能保证代码质量。例如:如果需要进行排序则直接使用内置函数或方法进行排序,没有必要再使用选择法排序、冒泡法排序或堆排序等排序算法来编写代码实现,直接使用内置函数sorted()或者列表方法sort()即可;计算最大公约数应习惯于使用math标准库的gcd()函数,不要再自己编写辗
1
转相除法代码;对数据进行随机乱序应使用random标准库中的shuffle()函数;从给定数据集中随机选择元素应使用random标准库中的choice()、choices()或sample()函数;判断年份是否闰年应使用标准库calendar中的isleap()函数;生成组合和排列应使用标准库itertools中的combinations()和permutation()函数。
教学和使用过程中,还应注意一些函数和方法的高级用法。例如,内置函数sorted()、max()、min()和列表方法sort()都可以指定key参数实现自定义排序规则;内置函数int()可以使用第二个参数来指定进制;扩展库pandas中很多方法都支持inplace参数实现原地操作;扩展库matplotlib中的很多函数都支持大量的参数来指定图形的高级属性。
四、 教学内容
第1章 Python概述
1.1 Python语言简介
教学重点:Python的命令式编程和函数式编程。 1.2 Python版本简介
教学重点:如何选择正确的Python版本,系统环境变量的设置。 1.3 Python开发环境的安装与配置 1.4 Python编程规范
教学重点:缩进,空格与空行,不同数据类型的选择对程序运行效率的影响。 1.5 扩展库安装方法
教学重点:熟练使用pip安装和管理Python扩展库。 1.6 标准库与扩展库中对象的导入与使用 教学重点:三种导入方法之间的区别。 1.7 __name__属性的作用
教学重点:不同方式使用Python程序时__name__属性的值。
2
第2章 内置对象、运算符、表达式、关键字
2.1 Python常用内置对象
教学重点:不需要事先声明变量名及其类型,变量命名规范,数字、字符串、列表、元组、字典、集合的简单使用,数字大小无限制。
2.2 Python运算符与表达式
教学重点:同一个运算有不同含义,关系运算符和逻辑运算符的惰性求值特点。
2.3 Python常用内置函数用法
教学重点:很多函数有基本用法和高级用法,注意这些函数的可选参数;理解函数式编程的模式。
教学难点:函数式编程。 2.4 Python关键字简要说明
第3章 Python序列结构
3.1 Python序列概述 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