Python考试重点笔记总结!期末轻松90+

1.摘要

        本文系统梳理了 Python 期末考试中常见的考点,包括变量数据类型数据结构流程控制函数与模块异常处理文件操作面向对象等。每个部分均配有定义、要点归纳、示例代码及考试提示,帮助同学高效复习、查漏补缺。

2.引言

        在学习 Python 的过程中,期末考试往往汇总了整个学期所学的核心知识点,是对理解与应用能力的一次全面检验。通过系统化的复习,不仅能够巩固基础概念,还能提高编程思维与解决问题的效率,为后续进阶学习打下坚实基础。在本课程中,Python 既是学习编程的入门语言,也是完成数据处理、自动化脚本和简单项目的主要工具,它的灵活性与丰富生态使其在实际应用中具有举足轻重的地位。

本文将按照以下结构展开,帮助同学有条不紊地进行复习:

  • 3.1 变量(Variables):介绍变量的定义、动态类型特性及常见操作。

  • 3.2 数据类型(Data Types):讲解数字、字符串、布尔值和 None 的使用与互转。

  • 3.3 数据结构(Data Structures):覆盖列表、元组、集合和字典的原理与操作。

  • 3.4 流程控制(Control Flow):梳理条件分支与循环的语法及典型用法。

  • 3.5 函数与模块(Functions & Modules):详解函数定义、参数传递以及模块导入机制。

  • 3.6 异常处理(Exception Handling):阐述 try/except 结构与自定义异常实践。

  • 3.7 文件操作(File I/O):展示文件读写与上下文管理的常用范式。

  • 3.8 面向对象(OOP):剖析类、继承、多态及魔法方法的核心思想。

  • 3.9 常用标准库(Standard Libraries):概览 os、sys、json、datetime 等常见库的用法。

  • 3.10 常见习题与解答:提供若干典型练习题及详尽解析,帮助检验复习效果。

 接下来,将逐一深入上述各章节,配合示例代码与考试提示,帮助你高效、有针对性地掌握期末考试重点。

3.正文

3.1 变量(Variables)

3.1.1 定义与作用
  • 变量是对内存中某个数据的“标签”,用来存储和引用各种类型的值。

  • Python 为动态弱类型语言,变量在赋值时自动创建,类型可随时改变。

3.1.2 关键语法/用法
# 单个赋值
x = 42
name = "Bob"
# 多重赋值
a, b, c = 1, 2, 3
# 交换变量
a, b = b, a
# 链式赋值
x = y = z = 0
3.1.3 示例代码
x = 100
print(x, type(x))   # 100 

x = [1, 2, 3]
print(x, type(x))   # [1, 2, 3] 
3.1.4 考试提示
  • 注意变量命名规则:只能包含字母、数字、下划线,不能以数字开头,区分大小写。

  • 考题常考“类型追踪”:看赋值顺序后变量最终类型。

3.2 数据类型(Data Types)

3.2.1 定义与作用
  • Python 内建基本类型:整数 int、浮点数 float、字符串 str、布尔值 bool 及特殊值 None

  • 不同类型支持不同操作,且可通过内建函数互转。

3.2.2 关键语法/用法
# 数值运算
a = 5     # int
b = 2.5   # float
c = a + b # 7.5

# 字符串操作
s = "Hello"
t = s + " World"      # 拼接
u = s * 3             # 重复

# 布尔与 None
flag = True
empty = None

# 类型转换
int("123")     # 123
float("3.14")  # 3.14
str(100)       # "100"
bool(0)        # False
3.2.3 示例代码
print(type(10))          # 
print(type(3.14))        # 
print(bool(""))          # False
print(int(7.9), float(3))# 7 3.0
3.2.4 考试提示
  • 注意布尔转换规则:只有空字符串、0、None、空容器为 False,其余均为 True

  • 考题常让写类型转换结果或指出错误的转换。

3.3 数据结构(Data Structures)

3.3.1 定义与作用
  • 列表(list):有序可变序列。

  • 元组(tuple):有序不可变序列。

  • 集合(set):无序不重复元素集合。

  • 字典(dict):键–值对映射,无序。

3.3.2 关键语法/用法
# 列表
lst = [1, 2, 3]
lst.append(4)
lst[0] = 0

# 元组
tpl = (1, 2, 3)
# tpl[0] = 0  # 会报错

# 集合
st = {1, 2, 3}
st.add(4)
st.remove(2)

# 字典
d = {"a": 1, "b": 2}
d["c"] = 3
val = d.get("b")
3.3.3 示例代码
lst = [3, 1, 2]
lst.sort()
print(lst)    # [1, 2, 3]

d = dict.fromkeys(["x", "y"], 0)
print(d)      # {'x': 0, 'y': 0}
3.3.4 考试提示
  • 区分可变与不可变类型,考题常设计对列表和元组操作的选择题。

  • 熟练掌握字典的增删查改,以及 in 判断键是否存在。

3.4 流程控制(Control Flow)

3.4.1 定义与作用
  • 用于根据条件执行不同分支或进行循环操作,是编程逻辑的基础。

3.4.2 关键语法/用法
# 条件语句
if x > 0:
    print("正数")
elif x == 0:
    print("零")
else:
    print("负数")

# for 循环
for i in range(5):
    print(i)

# while 循环
i = 0
while i < 3:
    print(i)
    i += 1

# 循环控制
for i in range(5):
    if i == 2:
        continue
    if i == 4:
        break
else:
    print("循环正常结束")
3.4.3 示例代码
for ch in "abc":
    print(ch.upper())
# A B C

i = 0
while i < 3:
    print(i)
    i += 1
else:
    print("结束")
# 0 1 2 结束
3.4.4 考试提示
  • 注意 for-elsewhile-else 的执行时机:正常循环结束才执行 else

  • 常见题型为“输出结果”或“填空”形式测试流程分支和循环中断。

3.5 函数与模块(Functions & Modules)

3.5.1 定义与作用
  • 函数:组织代码的独立单元,实现重复利用与逻辑封装。

  • 模块:以 .py 文件形式存在,可被导入复用,支持命名空间隔离。

3.5.2 关键语法/用法
# 函数定义
def add(x, y=10):
    return x + y

# 可变参数
def foo(*args, **kwargs):
    print(args, kwargs)

# Lambda 表达式
square = lambda x: x*x

# 模块导入
import math
from math import sqrt, pi
import my_module as mm

# 主程序保护
if __name__ == "__main__":
    print("作为脚本执行")
3.5.3 示例代码
def greet(name):
    print(f"Hello, {name}!")

greet("Alice")  # Hello, Alice!

import datetime
print(datetime.datetime.now().year)  # 当前年份
3.5.4 考试提示
  • 理解参数类型:位置参数、默认参数、可变参数(*args)和关键字参数(**kwargs)。

  • 会考察模块导入方式与作用域,注意 from module import * 的命名冲突风险。

3.6 异常处理(Exception Handling)

3.6.1 定义与作用
  • 捕获并处理程序运行时错误,保证程序健壮性和可读性。

3.6.2 关键语法/用法
try:
    x = 1 / 0
except ZeroDivisionError as e:
    print("除零错误", e)
except Exception:
    print("其他错误")
else:
    print("无异常时执行")
finally:
    print("无论是否异常都执行")
    
# 自定义异常
class MyError(Exception):
    pass

raise MyError("自定义异常示例")
3.6.3 示例代码
try:
    num = int(input("请输入整数:"))
except ValueError:
    print("输入格式错误")
else:
    print("输入的数字是", num)
finally:
    print("感谢使用")
3.6.4 考试提示
  • 了解各内建异常类型及继承关系。

  • 常见考法为让补全 try/except/else/finally 结构或判断输出。

3.7 文件操作(File I/O)

3.7.1 定义与作用
  • 读写磁盘上的文本或二进制文件,实现数据持久化。

3.7.2 关键语法/用法
# 文本文件
with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read()

with open("out.txt", "w") as f:
    f.write("Hello\n")

# 二进制文件
with open("img.png", "rb") as f:
    data = f.read()
3.7.3 示例代码
lines = []
with open("names.txt") as f:
    for line in f:
        lines.append(line.strip())
print(lines)
3.7.4 考试提示
  • 掌握文件打开模式(r, w, a, b)。

  • 理解 with 上下文管理的自动关闭机制。

3.8 面向对象(OOP)

3.8.1 定义与作用
  • 用“类”和“对象”模拟现实世界事物,支持继承、多态和封装。

3.8.2 关键语法/用法
class Animal:
    def __init__(self, name):
        self.name = name
    
    def speak(self):
        raise NotImplementedError

class Dog(Animal):
    def speak(self):
        return f"{self.name} says Woof!"

d = Dog("Buddy")
print(d.speak())

# 魔法方法示例
class Vector:
    def __init__(self, x, y):
        self.x, self.y = x, y
    def __add__(self, other):
        return Vector(self.x+other.x, self.y+other.y)
    def __repr__(self):
        return f"Vector({self.x}, {self.y})"
3.8.3 示例代码
v1 = Vector(1, 2)
v2 = Vector(3, 4)
print(v1 + v2)   # Vector(4, 6)
3.8.4 考试提示
  • 熟悉 __init__, __str__, __repr__, __eq__ 等常用魔法方法。

  • 理解继承与方法重写,多态调用的实际效果。

3.9 常用标准库(Standard Libraries)

3.9.1 定义与作用
  • Python 附带丰富标准库,涵盖文件操作、进程管理、数据序列化等常见功能。

3.9.2 关键库 & 用法
import os, sys, json, datetime, random, math

# os
print(os.listdir("."))

# sys
print(sys.argv)

# json
data = {"a": 1}
s = json.dumps(data)
obj = json.loads(s)

# datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))

# random
print(random.choice([1,2,3]))

# math
print(math.sqrt(16))
3.9.3 示例代码
import json
with open("conf.json") as f:
    cfg = json.load(f)
print(cfg.get("debug", False))
3.9.4 考试提示
  • 熟悉常用库的导入和主要接口。

  • 考题常让补全代码片段或指出输出结果。

3.10 常见习题与解答

3.10.1 典型题目示例
  1. 列表推导式:写出生成 [0,2,4,6,8] 的列表推导表达式。

  2. 字典合并:合并两个字典 ab,并说明 Python 3.5+ 与 3.9+ 的区别。

  3. 装饰器:实现一个计算函数执行时间的装饰器。

3.10.2 参考解答(简略)
# 1. 列表推导
evens = [i*2 for i in range(5)]

# 2. 字典合并
# Py3.5–3.8
c = {**a, **b}
# Py3.9+
c = a | b

# 3. 计时装饰器
import time
def timer(func):
    def wrapper(*args, **kw):
        start = time.time()
        res = func(*args, **kw)
        print(f"耗时:{time.time()-start:.4f}s")
        return res
    return wrapper
3.10.3 考试提示
  • 练习写出常见一行表达式(列表推导、条件表达式等)。

  • 对比不同版本特性(如 f-string、型别提示、合并运算符)。

  • 理解装饰器原理:返回函数、闭包以及 @ 语法糖。

你可能感兴趣的:(笔记)