Python语言基础与应用
Python语言基础与应用
30万+ 人选课
更新日期:2025/06/30
开课平台爱课程(中国大学MOOC)
开课高校北京大学
开课教师陈斌徐丙立
学科专业工学计算机类
开课时间2025/02/17 - 2025/05/16
课程周期13 周
开课状态已结课
每周学时-
课程简介

本课基于主讲教师在北京大学讲授数据结构与算法课(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)

视频教程:面向初学者的Python编程工具:Thonny

视频教程:怎么做慕课Python在线评测OJ作业

章节二测验

章节二作业

三、数据类型(一)(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)

课程33 datetime模块

课程34 calendar模块

课程35 time模块

课程36 几个算术模块

课程37 持久化模块

课程38 文件文本读写模块

课程39 上机练习:计时和文件处理

课程40 简单的图形界面模块

课程41 海龟作图

课程42 上机练习:简单绘图

章节七作业

章节七测验

八、高级特性(一):面向对象(78min)

课程43 面向对象:什么是对象?

课程44 面向对象:类的定义与调用

课程45 面向对象:类定义中的特殊方法

课程46 自定义对象的排序

课程47 面向对象:类的继承

课程48 上机练习:类和对象

章节八作业

章节八测验

九、高级特性(二)与高级扩展模块(112min)

课程49 例外处理

课程50 推导式

课程51 生成器函数

课程52 上机练习:生成器

课程53 图像处理库(PIL)

课程54 Web服务框架(Flask)

课程55 网络爬虫(requests, Beautiful Soup)

课程56 数据可视化(matplotlib)

课程57 上机练习:高级扩展模块应用

章节九测验