Python 自学手册
学习入口
LEON / PYTHON · ZERO TO PRACTICE · v1.4

从零开始
学会 Python 实操

部分内容为info1110课程

逐步理解语法,亲手完成练习。
穿插大模型与 Agent 场景,为后续学习打好基础。

19个学习单元105个运行示例114道分层习题4个完整项目
已装好 Python,开始第一课 →

Windows / Mac · 阅读完全离线 · 运行练习需 Python 3.10+

本轮新增:可交互知识图谱、五条目标路线与项目 / Agent 场景链路。打开知识图谱 → 查看学习路线与开源参考 →

LEON / CHAPTER 00

从这里开始

先把第一段程序运行起来,再逐步理解它。

安装与使用指南 · 从零开始

本章学会什么

  • 区分浏览器、编辑器、终端和 Python 解释器
  • 在 Windows 与 Mac 上运行同一个文件
  • 掌握教材、练习、答案和进度的使用方法
KNOWLEDGE CONNECTIONS · 从知识到用途

Python 知识图谱

遇到新语法时,问三句话:它接在哪个知识后面?现在解决什么问题?以后用在哪里?下面把这三件事连起来。

实线箭头表示本课程建议的学习联系,不是唯一学习顺序;虚线联想表示可相互对照。场景链路中的箭头才表示数据处理先后。点击节点不会自动勾选学习进度。

展开全部 24 个知识点 · 按主题查找

开始与表达

选择与重复

组织与复用

文件与质量

项目与 AI

先选择一个知识点

把知识用在同一个场景里

沿着输入 → 处理 → 输出看数据怎样变化,再点击知识点补上卡住的环节。先口头预测下一步,再运行教材中的 Python。

成绩表 → 清洗 → 报告

用原成绩项目的字段约定来拆解。先做能手算的小数据,再运行项目中的完整文件。下面的表是数据追踪,不是程序执行器。

  1. 01 · 读文件

    输入:student_id,name,score 的 CSV 文本

    处理:DictReader 按表头解析

    输出:{"student_id": "S1", "name": " 小林 ", "score": "60"}

  2. 02 · 清洗一条

    输入:name=" 小林 ",score="60"

    处理:strip 清理;int 转换;检查 0 ≤ score ≤ 100

    输出:{"student_id": "S1", "name": "小林", "score": 60}

  3. 03 · 收集与去重

    输入:一条无效 S2/abc,随后一条有效 S2/0

    处理:无效条记错误;只有有效且未见过的学号才加入 seen

    输出:S2 的 0 分保留;seen 不被前面的坏记录占用

  4. 04 · 统计小样例

    输入:有效分数 [60, 0, 90]

    处理:count=3,total=150,passed=2

    输出:mean=50.0,pass_rate=2/3;空列表时均值和及格率为 None

  5. 05 · 排名与验收

    输入:有效记录和错误列表

    处理:按分数降序、学号升序排名;写报告;对照手算

    输出:JSON 报告与错误 CSV;先确认有效数、均值、比例再读排名

迁移自测:第一条 S2 分数是 abc,第二条 S2 分数是 0。为什么不能在字段校验前就 seen.add("S2")?

先解释,再对照解析

第一条无效,不应占用 S2。提前登记会让第二条合法零分被误判重复。按项目约定,seen 只记录已保留的有效学号。扩展:两条都有效时保留第一条;若需求改成保留最新一条,就必须修改规则和测试。

打开对应示例或项目 →

任务 → 工具 → 观察 → 判断

沿用第 16 章的规则工具示例。每一步的中间值都应可以查看;真实模型只会让决策来源更复杂,不会替你自动完成校验。

  1. 01 · 描述任务

    输入:用户想查询指定条目的资料

    处理:保存任务文本和明确的目标

    输出:任务与目标;尚未执行工具

  2. 02 · 决定动作

    输入:任务与当前状态

    处理:规则选出工具名和参数

    输出:一个动作字典;它只是执行请求

  3. 03 · 检查并执行

    输入:工具名、参数字典

    处理:检查工具是否存在、参数是否合约定,再调用函数

    输出:返回一个值或明确的失败;工具返回值是观察数据

  4. 04 · 保存观察

    输入:本轮工具结果

    处理:将结果放入轨迹;更新轮数和下一步状态

    输出:新轨迹、新轮数;参数改绑需要外层接住返回值

  5. 05 · 判断结束

    输入:目标、观察和剩余预算

    处理:核对结果是否回答原问题;失败时决定继续还是停止

    输出:完成 / 未完成;达到次数上限不自动变成完成

迁移自测:工具返回 {"ok": True, "text": "未找到相关资料"},仅凭 ok 能宣布任务正确吗?

先解释,再对照解析

不能。ok 可能只说明工具顺利运行;还要检查内容是否满足任务。试着把失败原因拆成参数错误、工具执行失败、结果不满足任务,分别说明该在哪一步处理。这里没有调用真实模型。

打开对应示例或项目 →

保存完整文字图谱与联想自测 ↓ · 图谱无需联网,不保存额外个人数据。

这份教材怎样帮你学会实操

这是给没有编程经验的学习者准备的第一阶段教材。你无需懂数学公式、命令行或英文术语。目标是让你独立完成“接收数据 → 判断与处理 → 保存结果”的小程序,并看懂后续机器学习代码中的常见 Python 写法。它不承诺学完即可训练大模型;模型原理、线性代数、NumPy、PyTorch 是后续阶段。

先下载并完整解压学习包,再双击 index.html。 不要在压缩包的预览窗口里运行脚本。网页、代码和示例数据均可离线使用;第一次安装 Python 需要联网,或提前从官方网站准备适合目标电脑的安装文件。网页本身不需要安装任何程序,也不依赖在线字体、CDN 或账号。运行 Python 代码则需要该电脑已安装 Python。

正文中的代码都是 Python;标注为“终端命令”的内容则写在终端里。网页的“复制”只复制代码,不会自动执行。为保证完整离线、避免额外大型运行环境,本教材不在网页中执行任意 Python。三个演示器只展示预设语义轨迹,真实练习请在自己的解释器里运行。

文件夹地图

练习请编辑解压包原位置的 practice 文件。 网页文件链接会下载副本;若你修改的是“下载”目录中的副本,自检器仍会读取学习包里的原文件。最稳妥的方法是在编辑器里用 File → Open 打开题目注明的 practice 路径,修改并保存。

示例和习题分别编号,所以同一个 02_01 在 examples 和 practice 中不是同一段程序。编号的前两位是章节号,后两位是本章顺序。

四个工具分别做什么

编辑器负责修改文本,例如 Python 自带的 IDLE;解释器负责执行 Python 代码;终端负责接收启动程序的命令;浏览器负责显示教材。可以把编辑器想成写菜谱的纸,解释器想成按菜谱做菜的人,终端想成发出“开始做菜”的入口。类比只帮助入门;代码的准确含义以解释器规则为准。

hello.py 是文本文件,.py 告诉你这是 Python 源代码。print("你好") 的括号是调用,双引号包住字符串,print 把内容显示到输出区域。注意使用英文半角括号和引号,不能用中文的 ( ) “ ” 替换。

Windows 安装与首次运行

  1. 打开 Python 官方下载页,按照 Windows 官方安装说明 安装 Python。官方目前提供 Python install manager;已有正常工作的 Python 3 不必为了本教材重装。安装流程随版本变化,以官方页面为准。
  2. 安装完成后,关闭旧终端,再从开始菜单打开 PowerShell 或 Windows Terminal,输入 py --version。若 py 不可用但 python --version 成功,后续把 py 换成 python。
  3. 确认输出是 Python 3.10 或更高。本教材使用的语法按 Python 3.10+ 编写,交付前在 3.12 环境实际验证;不是对所有操作系统组合都做过现场测试。
  4. 将整个文件夹放在一个容易找到的位置,例如桌面。打开该文件夹,在文件资源管理器地址栏输入 powershell 并回车,通常即可在此目录启动 PowerShell。也可以手动输入 cd "完整文件夹路径"。
  5. 输入下面的命令,看到文字即成功。命令前面没有要你复制的 $ 或 >>>。
终端命令
py examples/ch01/ex01_01.py

Mac 安装与首次运行

  1. 从 Python 官方下载页 获取 macOS 安装包,参考 macOS 官方说明 安装。学习用解释器不要依赖系统工具内部使用的 Python。
  2. 用 Spotlight 搜索并打开“终端”,输入 python3 --version,确认 Python 3.10+。
  3. 在终端输入 cd (注意末尾有空格),把解压后的学习包文件夹拖入终端,再按回车。拖入操作会帮助你填好带空格的路径。
  4. 输入下面的命令:
终端命令
python3 examples/ch01/ex01_01.py

之后所有标为 python ... 的通用命令,在尚未使用虚拟环境时,Windows 可改成 py ...,Mac 可改成 python3 ...。第 11 章使用虚拟环境时会给出精确路径。

完全不会编辑文件时怎么做

如果安装中包含 IDLE,在开始菜单或应用程序中打开它。选择 File → Open,打开任意 .py 文件;修改后按 Ctrl+S(Mac 用 Command+S)保存,再选择 Run → Run Module(常见快捷键 F5)。结果会出现在 IDLE Shell 中。练习也可以用任意纯文本代码编辑器完成。

不要用 Word 编辑 .py,也不要保存成 hello.py.txt。Windows 可以在文件资源管理器中开启“显示文件扩展名”;Mac 文本编辑器需要先转换为纯文本。使用 IDLE 通常更省事。

遇到 >>> 说明进入了 Python 交互模式,可以输入 Python 表达式。此时不能直接输入 py hello.py。输入 exit() 回到系统终端,再运行终端命令。... 是交互模式的续行提示,不是要写进程序里的字符。

一次学习的具体流程

每次安排 45—75 分钟,可按自己的时间拆开:5 分钟默写上一节;15 分钟读新知识;20 分钟手敲并改动示例;15 分钟独立做题;5 分钟记录错误。看懂答案不等于能够独立写出。 每个例子先写下预计输出,再运行,然后至少改两个输入。

卡住时按顺序做:复述题目 → 写出输入与输出 → 手算一个小例子 → 用中文列步骤 → 把步骤翻译成代码 → 用 print 看中间值。独立尝试 10—15 分钟后可以展开提示;再卡住才看解析。看过答案的题,第二天关掉答案重写。

换电脑继续学习

复制整个解压后的文件夹,或者复制压缩包后重新解压。已写好的 practice、projects 和 notes 也要一起带走。网页进度保存在当前浏览器本地,它不会自动同步,也可能因移动文件或浏览器清理而丢失:离开前点击“导出进度”,在另一台电脑点击“导入进度”。导出的 JSON 包含章节勾选和笔记,不包含你的 .py 源代码。浏览器禁止本地存储时仍可阅读,应手动导出进度。

第一周不要做的额外工作

不需要显卡,不需要注册模型 API,不需要安装 PyTorch,也不需要一次配置多个编辑器。第 00—16 章和四个项目只使用标准库。先把这条最短路径走通:保存一个文件 → 运行 → 修改 → 再运行。

AI / Agent 穿插内容怎样学

主页的“部分内容为info1110课程”用于标记你的课程关联。基础语法可以配合课堂复习;v1.1 新增的 AI / Agent 场景是自编延伸练习,不据此推定课程的考核范围。

保持原来的顺序:先学本章语法,完成普通示例,再做本章最后的“AI / Agent”示例与练习。遇到暂时不懂的 AI 名词,先关注代码中的字符串、列表、判断和函数;不需要先学神经网络。

本轮的小实验只使用 Python 标准库,完全离线。提示词是给模型的文字要求;大模型(LLM)根据上下文生成内容;工具(tool)是程序可以调用的函数;Agent 则围绕目标组织决策、工具执行和结果反馈。这里用固定数据和规则模拟部分流程,没有调用真实模型、没有网络推理、没有产生 API 费用。

章节穿插的场景这次真正练的 Python
03 / 04组织提示词、选择处理路径字符串、f-string、条件顺序
06 / 08限制执行步数、保存对话while、break、列表套字典
09 / 12工具参数与结果、保存会话函数返回值、JSON 文件
13 / 14检查结构化输出、独立会话异常、输入校验、实例属性
15 / 16模拟流式片段、检索工具循环yield、状态更新、可追踪的执行过程

每个场景示例都有 .py 文件,新增练习仍可用同一自检器检查。旧题号和进度文件格式保留;在本版导入旧进度后,新题会显示为未完成。

合上教材,回忆这几句

  • 终端运行命令,解释器运行 Python。
  • 保存文件后再运行;先预测,再验证。
  • 跨电脑要带上源码;网页进度单独导出。

本章通关检查

  • 我能找到学习包的位置,并从终端进入该目录。
  • 我能运行第 01 章示例,并把输出改成自己的名字。
  • 我知道报错时先读最后一行,而不是马上重装。

我的错题与理解

写下“我原来以为……,运行后发现……,因为……”。笔记随导出进度保存;代码请保存在 .py 文件。