本课基于主讲教师在北京大学讲授数据结构与算法课(Python版)的多年教学实践经验,面向零编程基础的大学生和社会公众,全面讲授Python语言基础,培养学生计算思维的能力,并讲解Python语言中经典的扩展模块,让学生能用Python语言解决各种常见问题。
本课内容包括编程与计算思维、Python语言历史、开发环境、程序设计风格和语言整体概览、基本数据类型和容器类型、基本计算语句和控制流结构、函数定义与参数、若干基本扩展模块介绍与应用、面向对象编程、例外处理和生成器等高级语言特性、若干高级扩展模块的介绍与应用。
本课注重Python语言的实践与应用,在课程中穿插了生动案例和编程练习,引导学生积极建立计算思维模式,通过程序算法解决问题来加深对编程语言的学习体会。并具备进一步继续学习数据结构与算法、人工智能、大数据处理等课程的能力。
本课程的目标,重点在于讲授Python语言的基本语法以及一些常见Python模块的基本用法,让学生养成良好的代码书写习惯,培养计算思维能力,从而为进一步学习其他编程专业课程和运用编程语言解决生活中的一些问题打下坚实的基础。
——你准备好了吗?欢迎选修"Python语言基础与应用"!
一、引子(51min)
课程1 我们为什么要学习编程?(20min)
课程2 程序是什么?如何用计算思维解决问题?(17min)
课程3 Python语言的历史和现状(14min)
章节一测验
二、Python语言介绍与概览(94min)
课程4 Python语言运行环境(Windows/macOS/Linux)(9min)
课程5 第一个Python程序(9min)
课程6 集成开发工具PyCharm(13min)
课程7 上机练习:体验Python程序(9min)
课程8 Python程序设计风格(17min)
课程9 数据对象及其组织(17min)
课程10 计算和控制流(17min)
章节二测验
章节二作业
三、数据类型(一)(84min)
课程11 基本类型:数值(int/float/complex)(25min)
课程12 基本类型:逻辑值(bool)(13min)
课程13 基本类型:字符串(str)(25min)
课程14 变量和引用(11min)
课程15 上机练习:基本数据类型(9min)
章节三测验
章节三作业
四、数据类型(二)(105min)
课程16 容器类型:列表和元组(list/tuple)(21min)
课程17 容器类型:字典(dict)(22min)
课程18 容器类型:集合(set)(17min)
课程19 可变类型和不可变类型(13min)
课程20 建立复杂的数据结构(8min)
课程21 输入和输出(input/print)(17min)
课程22 上机练习:容器类型操作(5min)
章节四测验
章节四作业
五、计算和控制流(一)(70min)
课程23 自动计算过程(10min)
课程24 控制流程(10min)
课程25 控制流:条件分支语句(if)(11min)
课程26 控制流:条件循环(while)(17min)
课程27 控制流:迭代循环(for)(16min)
课程28 上机练习:基本的计算程序(4min)
章节五测验
章节五作业
六、计算和控制流(二)(63min)
课程29 代码组织:函数(def)(21min)
课程30 代码组织:函数的参数(12min)
课程31 上机练习:创建并调用函数(4min)
课程32 引用扩展模块(25min)
章节六测验
章节六作业
七、基本扩展模块(118min)
课程39 上机练习:计时和文件处理
课程40 简单的图形界面模块
课程41 海龟作图
课程42 上机练习:简单绘图
章节七测验
章节七作业
课程33 datetime模块
课程34 calendar模块
课程35 time模块
课程36 几个算术模块
课程37 持久化模块
课程38 文件文本读写模块
八、高级特性(一):面向对象(78min)
课程43 面向对象:什么是对象?
课程44 面向对象:类的定义与调用
课程45 面向对象:类定义中的特殊方法
课程46 自定义对象的排序
课程47 面向对象:类的继承
课程48 上机练习:类和对象
章节八测验
章节八作业
九、高级特性(二)与高级扩展模块(112min)
课程49 例外处理
课程50 推导式
课程51 生成器函数
课程52 上机练习:生成器
课程53 图像处理库(PIL)
课程54 Web服务框架(Flask)
课程55 网络爬虫(requests, Beautiful Soup)
课程56 数据可视化(matplotlib)
课程57 上机练习:高级扩展模块应用
章节九测验
本课程面向零编程基础的大学生和社会公众,全面讲授Python语言的语法基础和基本应用。
本课程没有必须的先修课,对Python这门语言有兴趣的任何同学都可以选修本课程。
本课程采取百分制,单元测验和作业占45分,讨论区讨论占5分,期末在线考试占50分。
60分-84分可获得合格证书,85分(含)以上可获得优秀证书。
注:本课程没有免费证书,只有认证证书。认证证书需付费在线申请,成绩达到课程考核分数标准的学生,具备申请资格。
认证证书有电子版和纸质版。纸质版认证证书上含有二维码和证书编号,可以在线验证真伪。
Python3烹饪书:https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
零基础学Python:https://docs.pythontab.com/learnpython/
在线Python代码规范:https://python-guide.gitbooks.io/python-style-guide/content/
Q : 本课程教学使用的Python语言是哪个版本?
A : Python 3.x,本课程代码示例均采用Python 3.x版本。虽然众所周知3.x版本与2.x版本并不兼容,但如今所有Python主流功能库都可以稳定运行在Python 3.x版本下,绝大多数Python程序员都已经使用Python 3.x版本。
Q : 这个课程需要配套教材吗?
A : 本课程将免费提供视频、课件和代码等资料供大家学习,参考资料所列的在线文档大家也可以随时查看,所以本课程其实并不需要特定的参考教材。
Q : 学会Python语言有什么好处呢?
A : 当时是好处多多!Python语言作为IEEE发布的2017年编程语言排行榜中高居首位的编程语言,在人工智能领域等前沿领域无比火热,对学习其他编程语言乃至以后就业都有极大的帮助。