课程名称:Python程序设计基础
课程性质:必修
前导课程:最好是学过C语言
考核方式:考试
建议学时:48+16
通过本课程的学习,使得学生能够理解Python的编程模式(命令式编程、函数式编程),熟练运用Python运算符、内置函数以及列表、元组、字典、集合等基本数据类型和相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用字符串方法,适当了解正则表达式,熟练使用Python读写文本文件,适当了解二进制文件操作,了解Python程序的调试方法,了解Python面向对象程序设计模式,掌握使用Python操作SQLite数据库的方法,掌握Python+pandas进行数据处理的基本用法,掌握使用Python+matplotlib进行数据可视化的用法,同时还应培养学生的代码优化与安全编程意识。
在教学和学习过程中,应充分发挥Python语言的优势,从最简单、最直观的思路出发,尽快解决问题。不建议在内存地址或类似的底层细节上花费太多时间。
学习Python程序设计除了要求学生一定的数学和英语知识外,学生最好已经学习过一门高级语言程序设计(如C语言,Java语言等),这样学习Python语言程序设计效果会更好。
另外Python程序基本上是一门体系独立自行封闭的课程,但由于它内容抽象,理论性较强,因此需要学生先前有较好的数学思维的训练。
(1) 计算机的发展史--中国古代算盘
(2) Python语言的发展史-到中国的易语言
(3) 计算机的分类--中国超级计算机为何如此低调?
(4)微型计算机--联想计算机的发展历程
(5)操作系统—华为鸿蒙操作的介绍(从国外卡脖子说起)
(6)IP与域名--讲解美国对服务器的控制以及中国的紧迫感
(7)网络安全--中国与国外势力的黑客较量
(8)二维码--领先全球的中国移动支付
(9)文字处理--中国人的办公软件骄傲WPS
(10)云计算--领先世界的超强算力“阿里巴巴云”
翻转话题:中国超级计算机的世界排名变化,究竟是实力无法夺得第一,还是低调?
Python编程模式中非常重要的一条是代码简单化、问题简单化,同时应保证代码具有较强的可读性。在教学过程中,尽量避免在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,尽量多使用Python内置函数、标准库对象和合适的扩展库对象,保证代码的优雅、简洁,让代码更加Pythonic。
使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率。例如:如果需要进行排序则直接使用内置函数sorted()或列表的sort()方法进行排序,切不可再使用选择法排序、插入法排序、冒泡法排序、快速排序或堆排序等排序算法来编写代码实现;计算最大公约数应习惯于使用math标准库的gcd()函数,而不应该自己编写代码实现辗转相除法的计算;对数据进行随机乱序应使用random标准库中的shuffle()函数;从给定数据集中随机选择元素应使用random标准库中的choice()函数;等等。
《Python程序设计基础》这门课程的教学内容是通过划分若干个模块来组织学习的,通过研究与分析,把整个教学内容从简到难划分为基础模块和扩展模块,其中基础模块划分为五个模块:
(一) 模块划分
1、基础模块
划分为24个教学单元
(1)、Python基础与入门:划分5个教学单元
(2)、Python特色:划分5个教学单元
(3)、结构学习:划分2个教学单元
(4)、进阶学习:划分10个教学单元
(5)、应用学习:划分2个教学单元
2、拓展模块
划分4个教学单元
(1)、数据库应用开发基础
(2)、数据库应用开发案例
(3)、数据可视化
(4)、图像处理
(二) 基础模块详细划分
模块一:基础与入门,划分5个单元
★单元1 (M1-U1) :Python概述
(1)了解Python
(2) Python的编程环境
(3) Python编程规范
(4) 标准库与扩展库对象的导入与使用
★单元2(M1-U2):编程基础(Python常用内置对象)
(1)Python常用内置对象
(2)常量、变量
(3)数字、字符串
(4)列表、元组、字典、集合
★单元3(M1-U3):编程基础(神奇的运算)
(1)神奇的运算,运算符与表达式
2)成员测试运算符in
(3)集合运算符
(4)逻辑运算符
(5)补充说明
★单元4(M1-U4):编程基础(内置函数1)
(1)基本内置函数
(2)类型转换和判断
(3)最大与最小值函数
★单元5(M1-U5):编程基础(内置函数2)
(1)引例
(2)基本输入输出
(3)排序与逆序
(4)map()range()zip()
(5)Python关键字
模块二:Python特色:序列,划分5个单元
★单元1 (M1-U1) :列表
(1) Python序列概述
(2) 列表创建与删除
(3) 列表元素访问
(4) 列表常用方法
(5) 列表对象支持的运算符
★单元2(M1-U2):列表的操作
(1)内置函数对列表的操作
(2)列表推导式语法与应用案例
(3)切片
★单元3(M1-U3):元组
(1)元组与生成器表达式
(2)元组创建与元素访问
(3)元组与列表的异同点
(4)生成器推导式
★单元4(M1-U5):字典
(1)字典
(2)字典元素的访问
(3)元素添加、修改与删除
(4)序列解包
★单元5(M1-U4):集合
(1)集合对象的创建与删除
(2)集合操作与运算
(3)集合应用案例
模块三:结构学习,划分2个单元
★单元1:选择结构
(1)引例:输出正数负数和零的判断
(2)条件表达式
(3)选择结构
(4)单分支,双分支,多分支结构
(5)选择结构的嵌套(选)
★单元2:循环结构
(1)引例-数的阶乘
(2)循环结构
(3)for循环与while循环
(4)break与continue语句
(5)综合案例解析
模块四:进阶学习,划分七个单元
★单元1:函数基本语法1
(1)函数定义与调用基本语法
(2)函数递归调用
(3)函数参数
(4)位置参数
(5)默认值参数
★单元2:函数基本语法2
(1)函数关键参数
(2)可变长度参数
(3)传递参数时的序列解包
(4)变量作用域
★单元3:函数应用案例精选
(1)lambda表达式
(2)生成器函数设计要点
(3)精彩案例赏析
★单元4:字符串及其格式化
(1)字符串简介
(2)字符串编码
(3)转义字符
(4)字符串格式化
(5)格式化的字符串常量
★单元5:字符串应用案例1
(1)字符串常用方法与操作
(2)字符串的位置和计数
(3)字符串分隔符函数
(4)字符串连接
(5)返回大小写字符
(6)查找替换
(7)删除字符
(8)字符串的对齐
★单元6:字符串应用案例2
(1)字符串对象支持的运算符
(2)适用于字符串对象的内置函数
(3)字符串切片
(4)字符串常量
(5)中英文分词(选学)
(6)汉字到拼音的转换
(7)综合案例解析
★单元7:正则表达式
(1)正则表达式语法
(2)正则表达式扩展语法
(3)正则表达式集锦
★单元8:正则表达式应用案例
(1)接使用正则表达式模块re处理字符串
(2)match对象
(3)精彩案例赏析
★单元9:面向对象程序设计基础知识
(1)面向对象程序设计
(2)类的定义与使用
(3)数据成员与成员方法
(4)私有成员与公有成员
(5)数据成员
(6) 成员方法
★单元10:面向对象程序设计案例
(1)类的属性
(2)在派生类中调用基类方法
(3)特殊方法
(4)综合案例解析
模块五:应用学习
★单元1:文件与文件夹操作
(1)文件的概念及分类
(2)文件操作基本知识
(3)内置函数open()
(4)文件对象属性与常用方法
(5)上下文管理语句with
(6)文本文件内容操作案例精选
★单元2:文件内容操作
(1)os模块
(2)os.path模块
(3)shutil模块 (文件的复制和解压缩)
(4)综合案例解析
(三) 拓展模块
模块6:数据库与数据分析
★单元1:数据库应用开发
★单元2:数据库应用开发案例
★单元3:数据可视化
★单元4:图像处理
教学课时分配表(参考)
章 节 名 称 |
课堂学时 |
实验学时 |
模块一 入门与基础 |
5 |
2 |
模块二 Python的特色 |
5 |
4 |
模块三 Python控制结构 |
2 |
2 |
模块四 进阶学习 |
10 |
6 |
模块五 应用学习 |
2 |
2 |
模块六 拓展学习 |
6 |
6 |
合计 |
30 |
16+6 |
教材:
董付国.《Python程序设计基础(第2版)》,清华大学出版社,2018
参考书目:
董付国.《Python程序设计(第2版)》,清华大学出版社,2016
董付国.《Python可以这样学》,清华大学出版社,2017
张颖,赖勇浩著.《编写高质量代码——改善Python程序的91个建议》.机械工业出版社,2014
杨佩璐,宋强等编著.《Python宝典》.电子工业出版社,2014
张若愚著.《Python科学计算(第2版)》.清华大学出版社,2017