《Python程序设计》是目前比较热门的一门课程,很多高校已经从选修课升级为必修课。Python语言是一门开源的高级动态编程语言,支持命令式编程、函数式编程、面向对象程序设计,语法简洁清晰,并拥有大量功能丰富而强大的标准库和扩展库。本课程从Python语言的实现机制入手,采用模块化的学习和教学形式,结合示例程序和课后上机实验,较为系统地学习Python语言及其程序设计技术。
设置《Python程序设计》课程的目的是使初学者在了解Python的技术历史、现状以及未来发展的基础上,系统地学习Python的基础知识,主要特色,编程新思想,程序设计技术以及最新应用领域,具备较为熟练的Python编程技能与一定的面向对象的程序设计思想。能够利用所学的Python设计技术解决生活中遇到的问题,最终提高程序设计水平和计算机应用能力。
教学目的和要求
Course characteristics通过本课程的学习,使得学生能够理解Python的编程模式(命令式编程、函数式编程),熟练运用Python运算符、内置函数以及列表、元组、字典、集合等基本数据类型和相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用字符串方法,适当了解正则表达式,熟练使用Python读写文本文件,适当了解二进制文件操作,了解Python程序的调试方法,了解Python面向对象程序设计模式,掌握使用Python操作SQLite数据库的方法,掌握Python+pandas进行数据处理的基本用法,掌握使用Python+matplotlib进行数据可视化的用法,同时还应培养学生的代码优化与安全编程意识。
在教学和学习过程中,应充分发挥Python语言的优势,从最简单、最直观的思路出发,尽快解决问题。不建议在内存地址或类似的底层细节上花费太多时间。
教学内容
Content of courses《Python程序设计基础》这门课程的教学内容是通过划分若干个模块来组织学习的,通过研究与分析,把整个教学内容从简到难划分为基础模块和扩展模块,其中基础模块划分为五个模块
(一) 模块划分
(1)基础模块
划分为24个教学单元
1、Python基础与入门:划分5个教学单元
2、Python特色:划分5个教学单元
3、结构学习:划分2个教学单元
4、进阶学习:划分10个教学单元
5、应用学习:划分2个教学单元
(2)拓展模块
划分4个教学单元
数据库应用开发基础
数据库应用开发案例
数据可视化
图像处理
(二) 基础模块详细划分
模块一:基础与入门,划分5个单元
★单元1(M1-U1):Python概述
★单元2(M1-U2):编程基础(Python常用内置对象)
★单元3(M1-U3):编程基础(运算符与表达式)
★单元4(M1-U4):编程基础(内置函数1)
★单元5(M1-U5):编程基础(内置函数2)
模块二:Python特色:序列,划分5个单元
★单元1(M1-U1):列表
★单元2(M1-U2):列表的操作
★单元3(M1-U3):元组
★单元4(M1-U4):集合
★单元5(M1-U5):字典
模块三:结构学习,划分2个单元
★单元1:选择结构
★单元2:循环结构
模块四:进阶学习,划分七个单元
★单元1:函数基本语法1
★单元2:函数基本语法2
★单元3:函数应用案例精选
★单元4:字符串及其格式化
★单元5:字符串应用案例1
★单元6:字符串应用案例2
★单元7:正则表达式
★单元8:正则表达式应用案例
★单元9:面向对象程序设计基础知识
★单元10:面向对象程序设计案例
模块五:应用学习
★单元1:文件与文件夹操作
★单元2:文件内容操作
(三) 拓展模块
模块6:数据库与数据分析
★单元1:数据库应用开发
★单元2:数据库应用开发案例
★单元3:数据可视化
★单元4:图像处理
。
教学中应注意的问题
Teaching objectivesPython编程模式中非常重要的一条是代码简单化、问题简单化,同时应保证代码具有较强的可读性。在教学过程中,尽量避免在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,尽量多使用Python内置函数、标准库对象和合适的扩展库对象,保证代码的优雅、简洁,让代码更加Pythonic。
使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率。例如:如果需要进行排序则直接使用内置函数sorted()或列表的sort()方法进行排序,切不可再使用选择法排序、插入法排序、冒泡法排序、快速排序或堆排序等排序算法来编写代码实现;计算最大公约数应习惯于使用math标准库的gcd()函数,而不应该自己编写代码实现辗转相除法的计算;对数据进行随机乱序应使用random标准库中的shuffle()函数;从给定数据集中随机选择元素应使用random标准库中的choice()函数;等等。
1. 教材:
董付国.《Python程序设计基础(第2版)》,清华大学出版社,2018
2. 参考书目:
(1) 董付国.《Python程序设计(第2版)》,清华大学出版社,2016。
(2) 董付国.《Python可以这样学》,清华大学出版社,2017。
(3) 张颖,赖勇浩著.《编写高质量代码——改善Python程序的91个建议》.机械工业出版社,2014。
(4) 杨佩璐,宋强等编著.《Python宝典》.电子工业出版社,2014。
(5) 张若愚著.《Python科学计算(第2版)》.清华大学出版社,2017。