视频加载失败

Python 期末考试复习指南

1781 字
9 分钟
Python 期末考试复习指南

Python 期末考试的难点,通常不在于语法本身有多复杂,而在于题目会把几个基础知识点串在一起,考你有没有真正理解”数据怎么流动”。很多人复习时习惯把课件从头翻一遍,结果翻完还是不会写代码。更有效的方式是:先搞清楚会考什么,再对着考点写代码,最后用错题补齐漏洞。下面按这个顺序展开。

常见题型#

多数学校的 Python 期末卷子结构比较固定,大致分四类。

第一类是读程序写结果。 给一段十几行的代码,问输出是什么。这类题专挑容易忽略的细节:列表和元组的可变性、函数默认参数、range() 的边界、切片越界、is 和 == 的区别。复习时不要靠”看起来像什么”,要一行一行在纸上模拟变量变化。

第二类是程序填空。 通常是循环加条件判断的骨架,挖掉两三行让你补。判断依据是变量的初始值、循环终止条件和累加方式,缺一个就会死循环或者结果差一。

第三类是写函数。 要求实现某个小功能,比如统计词频、判断回文、求最大公约数、列表去重并保持顺序。评分点往往包括:函数名和参数是否按要求、有没有返回值、边界情况(空列表、单个元素)能不能跑通。

第四类是综合题或简答题。 用字典和列表处理一批数据,或者解释面向对象、异常处理、文件操作的概念。这类题分值高,也最容易因为语法小错丢分。

核心语法考点#

按出现频率排,需要熟练掌握的有这些:

  1. 数据类型与容器:list、tuple、dict、set 的增删改查,以及它们之间的转换。列表推导式几乎是必考。
  2. 字符串处理:切片 s[1:4]、split()、join()、strip()、格式化输出(f"{x:.2f}")。
  3. 流程控制:for 遍历容器、while 配合条件、break 与 continue 的区别、for...else 的语义。
  4. 函数:位置参数与关键字参数、默认参数、*args、返回值、作用域(局部变量与全局变量)。
  5. 面向对象:类的定义、__init__、实例属性、方法、继承与 super()。
  6. 异常与文件:try/except/else/finally、with open(...) 的读写模式。

复习时可以给每个考点写一段二十行以内的小代码,能默写出来就算过关。

易错点#

这一节建议抄在笔记本第一页。

可变对象做默认参数。 def f(a, lst=[]) 里的 lst 在多次调用间是共享的,这是经典陷阱,正确写法是 lst=None 再在函数体里判断。

浅拷贝与赋值混淆。 b = a 只是多了一个名字,改 b 会改 a;要复制得用 a[:]、list(a) 或 copy.deepcopy()。

循环中删除元素。 一边 for x in lst 一边 lst.remove(x) 会漏掉元素,应改为遍历副本或用列表推导式重新生成。

缩进与作用域。 Python 靠缩进划分代码块,混用空格和 Tab 会直接报错;在函数内给全局变量赋值必须声明 global。

整数除法与浮点误差。 / 永远返回浮点数,// 才是整除;0.1 + 0.2 == 0.3 的结果是 False,比较浮点数要用误差范围。

忘记返回值。 函数里 print 了却没有 return,调用处拿到的是 None,这是丢分最常见的原因。

代码示例#

下面三段代码覆盖了考试里最容易出题的三块内容,都可以直接运行。

第一段是容器与字典的基本操作,对应”统计类”题目:

# 统计字符串中每个字符出现的次数(跳过空格)
text = "hello world"
counter = {}
for ch in text:
if ch != " ":
counter[ch] = counter.get(ch, 0) + 1
print(counter)
# 输出:{'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}

第二段是函数与列表,注意先复制再排序,别改动原数据:

# 冒泡排序:返回新列表,不修改传入的 nums
def bubble_sort(nums):
data = nums[:] # 复制一份,避免污染原列表
n = len(data)
for i in range(n - 1):
for j in range(n - 1 - i):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
return data
origin = [5, 2, 9, 1, 7]
print(bubble_sort(origin)) # [1, 2, 5, 7, 9]
print(origin) # [5, 2, 9, 1, 7],原列表未被修改

第三段是类与继承,加上文件读写和异常处理:

# 类的定义、继承与文件读写
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def is_pass(self):
return self.score >= 60
class Graduate(Student):
def __init__(self, name, score, advisor):
super().__init__(name, score) # 复用父类初始化
self.advisor = advisor
# 写入数据
with open("scores.txt", "w", encoding="utf-8") as f:
f.write("小明 85\n小红 58\n")
# 读取并判断是否及格
try:
with open("scores.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
except FileNotFoundError:
print("文件不存在")
else:
for line in lines:
name, score = line.split()
s = Graduate(name, int(score), "张老师")
print(s.name, s.score, "及格" if s.is_pass() else "不及格")

运行结果会打印出小明和小红的分数与是否及格。把这三段手动敲一遍、改几个参数再跑一遍,比看十页笔记有用。

三天复习计划#

第一天:补齐语法骨架。 上午过一遍容器、字符串和流程控制,每个知识点写一段十行左右的小代码;下午专攻函数和列表推导式,重点练参数传递和返回值;晚上做三套”读程序写结果”,错的地方标记出来,回到对应知识点重看。当天结束时,你应该能不看笔记写出遍历字典、列表去重、字符串翻转。

第二天:面向对象与综合题。 上午学类和继承,手写一个带属性、方法和子类的例子;下午练异常处理和文件读写,把 try/except 的四种分支各写一次;晚上限时做一道综合题,比如读文件统计成绩并排序输出。做题时不要边看答案边写,先自己卡住十分钟再看,卡住的地方才是真漏洞。

第三天:模拟与查漏。 上午按考试时长完整做一套真题,中途不查资料;下午逐题对答案,把错题整理成”错因 + 正确写法”两行记录;晚上只看这份错题清单和易错点笔记,不再碰新内容。考前最后半小时,把可变默认参数、浅拷贝、for...else、/ 与 // 这四个高频陷阱再过一眼。

复习的本质是把知识从”看得懂”变成”写得出”。三天时间不长,但如果每天都真的动手敲代码,通过考试是完全可以做到的;剩下的分数,取决于你愿不愿意在错题上多停留一会儿。

以上内容按常见教学大纲整理,具体考点请以老师给的范围为准。如果你的课程偏重某一块(比如 pandas 或文件系统),把对应章节的权重调高即可。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Python 期末考试复习指南
http://572621.xyz/posts/python-final-exam-guide/
作者
CH2=CHCOOH
发布于
2026-10-22
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
CH2=CHCOOH
Hello, I'm CH2=CHCOOH.
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
最新动态
站点统计
文章
14
分类
3
标签
22
总字数
17,760
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.16.4
文章许可
CC BY-NC-SA 4.0