写在最前
这个是 2026-2027-fi 计算机基础的 第二节课 总结。
Python 课件结构整理
来源:P2-for reference.pptx
参考教材:《Python语言程序设计基础(第三版)》
本文件按原课件的章节标题和内容归纳结构,并标注与教材知识点的对应关系,未修改原 PPT。PPT 页码指 PowerPoint 中从 1 开始的幻灯片顺序;教材页码指书本正文印刷页码,不等同于 PDF 阅读器显示的文件页序。
整体结构
原课件共 79 页,承接 Python1 课件目录中的第 20–28 节。为便于查找与复习,将课件归纳为以下 7 个模块;这些模块名称是本次整理使用的中文分类。
| 模块 | 原课件页码 | 页数 | 原章节编号 | 内容范围 |
|---|---|---|---|---|
| 1. while 循环与循环控制 | 1–11 | 11 | 20 | while、while...else、无限循环、break、continue、pass |
| 2. 常用函数与运算符 | 12–26 | 15 | 21 | range()、enumerate()、zip()、in、random、input()、类型转换 |
| 3. 列表推导式 | 27–34 | 8 | 22 | 基本列表推导式、条件筛选、条件表达式、嵌套循环 |
| 4. Python 语句阶段测验 | 35–43 | 9 | 23 | 字符串处理、循环、列表推导式、FizzBuzz 等综合练习 |
| 5. 方法及帮助系统 | 44–50 | 7 | 24 | 对象方法、列表方法、Tab 补全、帮助信息和官方文档 |
6. 函数概念与 def |
51–63 | 13 | 25–26 | 函数的作用、定义语法、文档字符串、参数、调用与返回值 |
| 7. 基础函数与逻辑 | 64–79 | 16 | 27–28 | 默认参数、return、None、输入类型影响、带判断和循环的函数 |
分节索引
模块 1:while 循环与循环控制(第 1–11 页)
| 页码 | 内容要点 |
|---|---|
| 1 | 第 20 节标题页:While Loops |
| 2–3 | while 的用途、基本语法以及可选的 else 分支 |
| 4 | 计数变量随循环更新的示例 |
| 5 | 忘记更新循环变量导致的无限循环 |
| 6 | while...else 示例 |
| 7 | break、continue、pass 的作用概览 |
| 8 | pass 作为占位语句 |
| 9 | continue 跳过本次迭代的示例 |
| 10 | break 提前结束循环的示例 |
| 11 | while 中使用 break 的补充示例 |
这一模块的主线是“条件为真时重复执行”,并通过循环变量更新和退出条件避免无限循环。
模块 2:常用函数与运算符(第 12–26 页)
| 页码 | 内容要点 |
|---|---|
| 12 | 第 21 节标题页:Useful functions and operator keywords |
| 13–15 | range() 的参数形式、步长、转换为列表及序列特征 |
| 16–17 | enumerate() 同时获得元素索引和值 |
| 18–19 | zip() 并行组合多个可迭代对象,按最短输入停止 |
| 20–21 | in 成员运算符在列表、字符串和字典中的使用 |
| 22–24 | random 模块,重点是 shuffle() 与 randint() |
| 25 | input() 获取用户输入,返回值类型为字符串 |
| 26 | 用 int()、float() 转换输入数据类型 |
这些工具经常与循环配合使用。复习时要区分:range() 生成可迭代的序列对象,enumerate() 增加索引,zip() 对齐多个可迭代对象,in 用于成员判断。
模块 3:列表推导式(第 27–34 页)
| 页码 | 内容要点 |
|---|---|
| 27 | 第 22 节标题页:List Comprehensions |
| 28 | 列表推导式的用途,与 for 循环加 .append() 的写法对照 |
| 29–30 | 从字符串生成字符列表,对元素进行表达式变换 |
| 31 | 在列表推导式末尾使用 if 进行筛选 |
| 32 | 温度转换练习 |
| 33–34 | 条件表达式和嵌套循环的列表推导式 |
基本形式可概括为 [表达式 for 变量 in 可迭代对象];筛选条件放在末尾,二选一的条件表达式放在开头表达式的位置。
模块 4:Python 语句阶段测验(第 35–43 页)
对应第 23 节 Python Statements Test and Solutions。
| 页码 | 练习主题 |
|---|---|
| 35 | 测验标题页 |
| 36–37 | split() 默认按空白字符分割,并用循环逐词输出 |
| 38 | 判断单词是否以字母 t 开头,涉及大小写处理 |
| 39 | 用 range() 输出 0–10 之间的偶数 |
| 40 | 用列表推导式生成 1–50 中能被 3 整除的数 |
| 41 | 判断字符串长度的奇偶性 |
| 42 | 1–100 的 FizzBuzz 综合练习 |
| 43 | 取得字符串中每个单词的首字母 |
该模块将字符串方法、循环、条件判断、取余运算和列表推导式放在一起练习。
模块 5:方法及帮助系统(第 44–50 页)
| 页码 | 内容要点 |
|---|---|
| 44 | 第 24 节标题页:Methods and Functions—Methods |
| 45 | 方法是内置在对象中的函数 |
| 46 | 列表的 .append()、.pop() 示例 |
| 47 | 输入句点后按 Tab 查看对象可用的方法 |
| 48 | 使用 Shift+Tab 查看方法签名和帮助信息 |
| 49–50 | Python 官方文档入口和 Library Reference |
这一模块不以记忆全部方法为目标,重点是知道如何发现方法、查看参数说明并查阅文档。
模块 6:函数概念与 def(第 51–63 页)
| 原章节 | 页码 | 内容要点 |
|---|---|---|
| 25. Methods and Functions—Functions | 51–54 | 函数用于封装可重复执行的代码;函数使可解决的问题复杂度进一步提高 |
| 26. def Keyword | 55–63 | def 语法、函数命名、圆括号、冒号和缩进、文档字符串、调用、参数及 return |
重点位置:
- 第 57–59 页:函数定义的各个语法组成部分。
- 第 60 页:定义函数后通过函数名加圆括号调用。
- 第 61 页:形参与实参的对应。
- 第 62–63 页:
return返回结果,并可把结果赋值给变量。
模块 7:基础函数与逻辑(第 64–79 页)
| 原章节 | 页码 | 内容要点 |
|---|---|---|
| 27. Basic Functions | 64–71 | 简单函数、调用时是否加圆括号、默认参数、return 与 print() 的区别、未显式返回时得到 None、输入类型影响结果 |
| 28. Functions with Logic | 72–79 | 用取余判断奇偶、检查单个数、遍历列表、提前返回、返回布尔值、收集并返回满足条件的元素 |
第 75–79 页展示了循环中 return 位置对结果的影响:return 一旦执行,整个函数立即结束。需要先明确目标是“存在一个偶数”“所有数都是偶数”还是“返回全部偶数”,再决定返回语句放在何处。
PPT 知识点与教材对应
教材的主线与课件基本一致,但章节组织方式不同。教材把循环放在第 4 章,把函数放在第 5 章;课件中的部分便捷工具和列表推导式属于教材目录之外的补充内容。
| PPT 页码 | PPT 知识点 | 教材对应章节 | 教材印刷页码 | 对应说明 |
|---|---|---|---|---|
| 1–6 | while、循环条件、循环变量、while...else |
4.4.2 条件循环:while;4.4.3 循环控制 |
146–148 | 直接对应。教材还用猜数字程序展示条件循环 |
| 7–11 | break、continue、pass |
4.4.3 循环控制;5.1.1 自定义函数 | 147–148、164–165 | break、continue 直接对应;教材在空函数示例中出现 pass |
| 13–15 | range() |
4.4.1 遍历循环:for |
144–145 | 教材通过 for i in range(N) 说明范围序列的用法 |
| 16–17 | enumerate() |
无独立小节 | — | 课件补充的常用内置工具,可与教材 4.4.1 的遍历循环结合理解 |
| 18–19 | zip() |
无独立小节 | — | 课件补充的并行迭代工具 |
| 20–21 | in 成员判断 |
6.1.3 集合操作;6.2.1 序列概述;6.2.3 列表操作 | 202、205–209 | 教材分别展示集合和序列中的 in;for...in 还出现在 4.4.1 |
| 22–24 | random、shuffle()、randint() |
4.7 random 库和随机数运用 |
157–159 | 直接对应,教材还列出 random()、seed()、choice() 等函数 |
| 25 | input() |
2.3.1 input() 函数 |
59–60 | 直接对应,均强调交互输入 |
| 26 | int()、float() 类型转换 |
3.2.3 数字类型转换 | 95 | 直接对应;可与 input() 返回字符串一起复习 |
| 27–34 | 列表推导式 | 无独立小节;相关内容为 4.4.1 遍历循环、6.2.3 列表操作 | 144–145、208–210 | 课件扩展语法。教材提供构成该语法所需的循环与列表基础,但未单列“列表推导式” |
| 36–43 | 字符串、循环、条件和列表推导式综合题 | 3.5 字符串操作;4.1 分支结构;4.4 循环结构;4.5 条件计算 | 106–112、130–133、144–151 | 属于跨章节综合练习;列表推导式仍为课件补充 |
| 44–46 | 对象方法、列表 .append() 与 .pop() |
3.5.3 字符串操作方法;6.2.3 列表操作 | 109–111、208–210 | “方法属于对象”的概念相通,列表方法直接对应 6.2.3 |
| 47–50 | Tab 补全、查看帮助、官方文档 | 1.3.4 IDLE 快捷操作 | 20 | 教材介绍开发环境快捷操作;课件进一步展示 Notebook 帮助和官方文档 |
| 51–54 | 函数的作用和代码复用 | 第 5 章 函数和代码复用;5.1 函数定义 | 163–164 | 直接对应教材的函数与代码复用主线 |
| 55–60 | def、函数名、括号、冒号、缩进、文档字符串和调用 |
5.1.1 自定义函数;5.2.1 函数的使用 | 164、168 | 定义和调用直接对应;文档字符串由课件重点补充 |
| 61 | 参数与传值 | 5.1.2 可选参数和可变参数;5.2.2 函数的参数传递 | 165–166、168–169 | 直接对应 |
| 62–63 | return 与保存返回结果 |
5.1.3 函数的返回值;5.2.3 函数的执行过程 | 166、169–170 | 直接对应 |
| 64–71 | 简单函数、默认参数、return、None、输入类型 |
5.1 函数定义;5.2 函数调用 | 164–170 | 对应函数定义、返回值、参数传递和执行过程 |
| 72–79 | 带逻辑判断的函数、循环遍历、提前返回、返回列表 | 4.1 分支结构;4.4 循环结构;5.1–5.2 函数定义与调用 | 130–133、144–148、164–170 | 将第 4 章控制结构嵌入第 5 章函数,是综合应用 |
关键辨析
range的类型:课件第 13 页把它描述为不可变序列类型,这一表述准确;第 15 页标题“Range is generator”容易引起误解。Python 3 中range是惰性计算的不可变序列对象,不是生成器对象。input()的结果:无论用户输入看起来像数字还是文字,input()都返回字符串;需要数值运算时再用int()或float()转换。break与continue:break结束当前最内层循环,continue只跳过本次迭代并进入下一轮,pass仅作为不执行操作的占位语句。print()与return:print()只把内容显示出来;return把结果交回调用处,并立即结束本次函数调用。函数没有执行到显式return时,返回值为None。- 列表推导式中的
if:末尾的if用于筛选元素;写在表达式位置的if...else用于为每个元素二选一地产生结果。
使用说明
- 按课件查找:先看“整体结构”,再按“分节索引”定位到具体 PPT 页。
- 结合教材复习:循环部分优先阅读教材 4.4,再看课件第 1–24 页;函数部分优先阅读教材 5.1–5.2,再看课件第 51–79 页。
- 处理补充内容:
enumerate()、zip()和列表推导式没有教材独立小节,应以 PPT 示例为主,并联系教材中的可迭代对象、循环和列表操作理解。 - 完成综合练习:第 35–43 页覆盖第 1、2 两份课件的多个知识点,适合在学完循环、常用工具和列表推导式后集中完成。
- 截图页:课件的大部分代码以 Notebook 截图呈现。