记得初学Python的时候,看目录不明白知识的联系是什么,具体到知识点就像大海捞针,学完就忘。现把复习时的知识结构前置,供学弟学妹们参考。
这样在做pta的时候就能同步给错题分类整理,明白这道题在考什么。
学会自主修改代码😎凡事都靠deepseek最终就会变成抄答案,别问我是怎么知道的😰
Python编程能力 =
基础语法(刀工) +
函数与类(烹饪方法) +
异常处理(安全卫生) +
文件处理(食材保存) +
算法设计(菜谱创新)
📊 各章节考察重点梳理
1. 基础语法与数据类型
考察重点:
• 变量命名规则与赋值机制
• 基本数据类型:int, float, str, bool
• 复合数据类型:list, tuple, dict, set的特性对比
• 运算符优先级和结合性
• 类型转换与类型判断(type() vs isinstance())
高频考点:
• 列表推导式与字典推导式
• 可变对象 vs 不可变对象
• 浅拷贝 vs 深拷贝
• 字符串格式化(f-string, format())
2. 函数与作用域
考察重点:
• 形参与实参的区别
• 位置参数、关键字参数、默认参数
• *args和**kwargs的使用场景
• 变量作用域:LEGB规则
• 闭包与装饰器概念
• 递归函数设计与调用栈
高频考点:
• 参数传递机制(引用传递)
• lambda表达式与map/filter/reduce
• 全局变量与局部变量的冲突
• 函数作为一等公民的特性
3. 面向对象编程
考察重点:
• 类与对象的基本概念
• 构造函数__init__与self参数
• 实例属性 vs 类属性
• 实例方法、类方法、静态方法
• 继承、多态、封装
• 特殊方法(str, __len__等)
高频考点:
• 私有属性(名称修饰)
• 方法解析顺序(MRO)
• 多继承与菱形继承问题
• property装饰器的使用
4. 异常处理
考察重点:
• try-except-else-finally完整结构
• 常见内置异常类型
• 自定义异常类
• 异常链与raise from
• 上下文管理器(with语句)
高频考点:
• 多个except子句的顺序
• 捕获所有异常(except Exception)
• 资源清理与finally的必然执行
• with语句的工作原理
5. 常用模块使用
考察重点:
• 模块导入方式(import, from...import)
• 标准库常用模块:math, random, datetime, os, sys
• 第三方模块的安装与使用
• name == "main"的作用
• 包的结构与相对导入
高频考点:
• 模块搜索路径
• 循环导入问题
• 模块重载
• 命名空间包
6. 算法与数据结构
考察重点:
• 时间复杂度和空间复杂度概念
• 基础算法:排序(冒泡、选择、插入、快速)
• 基础算法:查找(顺序、二分)
• 递归算法的设计与优化
• 动态规划的基本思想
• 常见数据结构操作
高频考点:
• 递归转迭代
• 动态规划的备忘录法
• 列表、字典、集合的适用场景
• 算法在实际问题中的应用
🔗 知识地图:各章节如何连接
text
解决问题 ← 算法设计(怎么解决)
↑
封装复用 ← 函数/类(打包解决方案)
↑
流程控制 ← 判断/循环(控制执行顺序)
↑
数据操作 ← 数据类型(操作什么对象)
↑
语法基础 ← 变量/表达式(基本单位)
💡 学习建议:建立知识网络
1. 横向联系:学习新概念时,思考它与已学概念的关系
◦ 函数参数 ↔ 变量赋值(都是数据传递)
◦ 类方法 ↔ 普通函数(区别在self参数)
◦ 异常处理 ↔ 条件判断(都是控制流程)
2. 纵向深入:从表面语法到底层原理
◦ 表面:def func(x):
◦ 中层:函数对象、参数传递机制
◦ 底层:命名空间、调用栈、字节码
3. 实践验证:对疑惑的概念,写测试代码验证
python
# 疑惑:参数传递到底是值传递还是引用传递?
def test(arg):
print(f"函数内id: {id(arg)}")
x = [1, 2, 3]
print(f"函数外id: {id(x)}")
test(x) # 观察id是否相同