1. 函数基础
你已经学会:
- 使用 def 定义函数
- 调用函数
- 理解参数和返回值的基本概念
- 知道函数是为了封装重复逻辑

2. 变量作用域
你已经学会:
- 局部变量:定义在函数内部,只能在函数内部使用
- 全局变量:定义在函数外部,整个文件中通常可用
- 函数里可以读取全局变量
- 函数里如果要修改全局变量,要用 global
- 函数参数本质上也是局部变量
重点结论:
- 函数内定义的变量,默认是局部变量
- 函数外定义的变量,默认是全局变量
- 修改全局变量时要写 global

3. 文件操作
你已经学会:
- open() 打开文件
- with open(...) as f: 是推荐写法
- r 表示读取
- w 表示写入,会覆盖原内容
- a 表示追加,不会清空原内容
- read() 读取全部内容
- readline() 读取一行
- readlines() 读取所有行并返回列表
- write() 把内容写入文件
重点结论:
- read():读全部
- readline():读一行
- readlines():读成列表
- write():写入内容

4. 模块和包
你已经学会:
- 模块:一个 .py 文件
- 包:装多个模块的文件夹
- import 模块名 导入整个模块
- from 模块名 import 函数名 单独导入某个功能
- 能理解包路径导入
重点结论:
- 模块是 .py 文件
- 包是管理多个模块的文件夹
- import 是导入别人写好的代码来用


5.面向对象基础
你已经学会:
- class 定义类
- 对象是根据类创建出来的实例
- init 是初始化方法
- self 表示对象自己
- 属性是对象的数据
- 方法是对象的功能
- 能分清类、对象、属性、方法
重点结论:
- 类像模板
- 对象是模板创建出来的具体东西
- self.name 这类通常是属性
- def xxx(self) 定义的是方法

6. 继承、重写、super、多态
你已经学会:
- 继承:子类可以直接获得父类的属性和方法
- 方法重写:子类写同名方法,覆盖父类方法
- super():在子类中调用父类的方法或 init
- 多态:同样的方法,不同对象调用时有不同表现
重点结论:
- 继承是复用代码
- 重写是改写父类行为
- super().init(...) 常用于继承父类属性
- 多态的核心是“同样调用,不同结果”

7. 异常处理
你已经学会:
- try 放可能出错的代码
- except 处理错误
- else 表示没有出错时执行
- finally 表示无论是否出错都执行
- 可以写多个 except 处理不同异常
- raise 可以主动抛出异常
常见异常你已经接触过:
- ZeroDivisionError
- ValueError
- FileNotFoundError
- TypeError
- NameError
重点结论:
- 出错走 except
- 不出错走 else
- finally 一定执行
- raise 是自己主动制造异常

8. 综合使用:类 + 文件 + 异常
你已经开始理解把多个知识点连起来使用:
- 用类保存学生信息
- 用函数检查分数是否合法
- 用 raise 主动报错
- 用 try/except 捕获错误
- 用文件操作保存数据
你已经接触过这样的程序思路:
- 输入姓名和分数
- 检查分数范围
- 合法就写入文件
- 不合法就提示错误
这说明你已经不只是学单个知识点,而是在学“怎么组合写程序”。
9. JSON 基础
你已经学会:
- json.dumps():Python 数据转 JSON 字符串
- json.loads():JSON 字符串转 Python 数据
- json.dump():把 Python 数据写入 JSON 文件
- json.load():从 JSON 文件读取数据
- ensure_ascii=False 的作用是让中文正常显示
- 字典适合表示一个对象的数据
- 列表里放多个字典,适合表示多个对象的数据
重点结论:
- dump/load 是操作文件
- dumps/loads 是操作字符串
- JSON 读回来后得到的是 Python 的字典或列表,不是自定义对象

10. 对象和 JSON 的关系
你已经学会:
- 自定义对象不能直接当作普通 JSON 数据使用
- 通常先把对象转成字典再保存
- 对象.dict 可以拿到对象属性组成的字典
- 多个对象保存时,通常是“列表里放多个字典”
- JSON 读回来后,如果想变回对象,要手动重新创建对象
重点结论:
- 对象 -> 字典 -> JSON
- JSON -> 字典/列表 -> 对象

11. 路径和 os 基础
1. os 基础
认识了 os 模块的作用:用来和操作系统交互,常用于目录、文件、路径相关操作。
重点内容:
- os.getcwd():获取当前工作目录
- os.listdir():列出当前目录下的文件和文件夹
- os.mkdir():创建文件夹
- os.remove():删除文件
- os.rmdir():删除空文件夹
- os.chdir():切换工作目录
理解重点:
- os 偏向“操作系统动作”
- 经常和文件、目录、路径一起使用
2. os.path 路径处理
学习了 os.path 主要用于处理路径。
重点内容:
- os.path.exists(path):判断路径是否存在
- os.path.isfile(path):判断是不是文件
- os.path.isdir(path):判断是不是文件夹
- os.path.join(a, b):拼接路径
- os.path.abspath(path):获取绝对路径
- os.path.basename(path):获取最后一部分,一般是文件名
- os.path.dirname(path):获取目录部分
- os.path.splitext(path):分离文件名和扩展名
理解重点:
- exists() 只判断存不存在
- isfile() 和 isdir() 是进一步判断类型
- join() 比手动拼接字符串更规范
3.** pathlib **基础
知道了 pathlib 是更现代的路径处理方式,比 os.path 更清晰。
重点内容:
- from pathlib import Path
- Path("D:/data") / "a.txt":拼接路径
- p.exists():判断路径是否存在
- p.is_file():判断是不是文件
- p.is_dir():判断是不是文件夹
- p.name:文件名
- p.stem:主文件名
- p.suffix:扩展名
- p.parent:父目录
- p.mkdir():创建目录
- p.read_text() / p.write_text():读写文本
理解重点:
- pathlib 也是处理路径
- 和 os.path 相比更面向对象、更现代
12. 异常处理
学习了异常处理的基本作用:让程序出错时不直接崩掉,而是按设定方式处理。
重点内容:
- try
- except
- else
- finally
- except Exception as e
常见异常:
- ZeroDivisionError
- FileNotFoundError
- IndexError
- KeyError
- ValueError
- TypeError
理解重点:
- try 放可能报错的代码
- except 处理异常
- else 在没有异常时执行
- finally 无论是否报错都会执行
13. requests 和 API 调用
开始系统理解 Python 如何请求接口。
重点内容:
- requests.get(url):发送 GET 请求
- requests.post(url):发送 POST 请求
- response.status_code:查看状态码
- response.text:查看文本内容
- response.json():把返回的 JSON 转成 Python 对象
- params=:给 GET 请求传参数
- json=:给 POST 请求传 JSON 数据
- timeout=:设置超时时间
- raise_for_status():状态码异常时主动报错
理解重点:
- GET 常用于获取数据
- POST 常用于提交数据
- 调接口的本质是:发送请求 -> 拿到返回 -> 解析 JSON -> 取值
14.pip / venv / requirements
1. pip
理解了 pip 的作用:
- 用来安装和管理 Python 第三方库
- 常见命令:
python
python -m pip install requests
python -m pip show requests
python -m pip list2. venv
理解了 venv 的作用:
- 给每个项目创建独立的 Python 环境
- 不同项目的库互不影响
- 避免把库都装到全局 Python 里
实际操作过:
python
py -m venv .venv
.venv\Scripts\activate.bat3. requirements.txt
理解了 requirements.txt 的作用:
- 记录当前项目依赖的库和版本
- 换电脑或重新配置环境时可以直接复用
实际操作过:
python -m pip freeze > requirements.txt
4、环境相关关键理解
今天比较重要的一个收获是:
全局环境 和 虚拟环境 是两套独立环境。
具体理解为:
- 全局 Python 里装的包,不等于 .venv 里也有
- .venv 里安装的包,也不会自动跑到全局环境
- 进入虚拟环境后,优先使用:
python -m pip
而不是只盯着 py -m pip。
15、requests 基础
1. 发送 GET 请求
学习并跑通了最基础的接口请求:
python
import requests
url = "https://jsonplaceholder.typicode.com/todos/1"
response = requests.get(url)
print(response.status_code)
print(response.text)理解了:
- requests.get(url) 是发送 GET 请求
- response.status_code 是状态码
- response.text 是服务器返回的原始文本
2. response.json()
学习了:
python
data = response.json()理解了:
- response.json() 会把返回结果转成 Python 数据
- 返回结果通常是:
- dict
- list
16、JSON 取值
1. 字典取值
已经会:
python
data["title"]
data.get("title")理解了:
- data["key"]:键不存在会报错
- data.get("key"):键不存在不会报错,会返回 None
- data.get("key", "默认值"):可以设置默认值
2. 列表取值
已经会:
python
data[0]
data[0].get("title")理解了:
- 如果接口返回的是列表,就先用下标取元素
- 再对元素里的字典取值
3. 嵌套结构取值
已经会:
python
data["user"]["info"]["age"]
data.get("user", {}).get("info", {}).get("city")理解了:
- JSON 数据可能是一层套一层
- 大模型 API 返回值通常就是这种嵌套结构
17、异常处理基础
今天学习了用 try/except 包住请求代码:
python
try:
response = requests.get(url, timeout=5)
data = response.json()
except requests.exceptions.RequestException as e:
print("请求出错了:", e)
except ValueError as e:
print("JSON 解析出错了:", e)
except Exception as e:
print("其他错误:", e)当前理解:
- RequestException:处理请求相关问题
- ValueError:处理 JSON 解析问题
- Exception:做最后兜底