一、这套教程怎么用
这是一套从零开始的 Python 基础教程,一共 30 篇,按「先会用、再懂原理、最后做出东西」的顺序排下来。每一篇都能单独看懂,但连起来看收获最大。
| 它适合谁 | 它不适合谁 |
|---|---|
完全没写过代码,想从第一行 print 学起的人 | 已经能熟练写 Python、想直接看高级特性的人 |
| 学过一点但总是「会看不会写」,想补上手感的人 | 想找一本完整语言手册当参考书来查的人 |
| 想把 Python 用在数据处理、办公自动化上的人 | 只想要一段现成代码、不愿意理解为什么的人 |
开始之前只需要准备两样东西:一台能上网的电脑,和一点点耐心。安装步骤在第 3 篇和第 4 篇里写得很细,跟着做就行——不会让你去配环境变量、也不会让你装一堆用不上的东西。
课程思政|诚信与职业操守 · 别只想要现成答案
这一篇开头就把话说在前头:只想要一段现成代码、不愿弄明白为什么的人,这套教程帮不了他。AI 助手能替你写代码,却替不了你去理解——答案来得越容易,忘得越快。把「为什么这么写」问到底,是对自己负责;总有一天,你要独自面对一个没人给答案的问题。
二、学习路线总览:七个阶段,30 篇
整套教程分七个阶段。每个阶段都是一个「能独立站住」的小台阶——学完就有能拿出手的东西,不用等全部学完才敢动手:
| 阶段 | 篇目 | 学完这个阶段,你能做什么 |
|---|---|---|
| 一、起步 | 3-IDLE 4-Trae 5-语法规范 | 把环境跑起来:能在自己电脑上写出并运行一个 Python 文件,知道代码该怎么排版 |
| 二、基础零件 | 6-输入输出 7-运算符 8-数据类型 9-内置函数 10-字符串 11-导入库的方法 12-time库与random库 | 会跟程序「对话」:拿输入、算结果、处理文字、调用现成的库 |
| 三、流程控制 | 13-条件表达式 14-选择结构 15-循环结构 | 让程序会思考:会写判断和循环,不再只会从头执行到尾 |
| 四、数据容器 | 16-列表 17-元组 18-切片操作 19-序列解包 20-字典 21-集合 | 一次装下一堆数据:会用列表、元组、字典、集合管理成批数据 |
| 五、函数与迭代 | 22-函数 23-递归 24-生成器与迭代器 | 把代码收成块:会封装函数、会写递归、会写省内存的生成器 |
| 六、文件与库 | 25-异常处理 26-文件处理 27-模块与包 28-常用标准库 29-正则表达式 | 跟外部世界打交道:能读写文件、拆自己的模块、用标准库和正则处理真实数据 |
| 七、进阶与实战 | 30-面向对象编程 31-综合实战:班级成绩统计程序 32-Trae打包可执行程序 | 做出一个作品:会用面向对象组织代码,能独立完成一个小程序并打包发给别人 |
看完这张表你应该发现一件事:前三个阶段占了接近一半篇幅,但它们都不是「高级内容」。这是故意的——所有卡住初学者的地方,八成都在这些看起来最基础的地方(变量类型、缩进、循环边界)。把它们吃透,后面反而越学越轻松。
三、30 篇逐篇导览(点标题直接打开)
下面这张表就是整套教程的全目录。篇名可以直接点开,一句话帮你判断「这篇讲的是不是我正需要的东西」:
| 编号 / 篇名 | 这篇讲什么 |
|---|---|
| 3-IDLE | 认识 Python 自带的编辑器,写出并运行第一个程序 |
| 4-Trae | 装上真正的代码编辑器,学会新建文件、运行、常用快捷键 |
| 5-语法规范 | 缩进、注释、命名规则——让代码长得像样、别人能看懂 |
| 6-输入输出 | 用 input() 把数据拿进来,用 print() 把结果送出去 |
| 7-运算符 | 加减乘除、整除取余、比较、逻辑运算,全都在这 |
| 8-数据类型 | 数字、字符串、布尔值、None——八种类型一次认清,以及什么时候转谁 |
| 9-内置函数 | 不用 import 就能直接用的那批函数:len、sum、range、sorted 等 |
| 10-字符串 | 索引、切片、常用方法、f-string 格式化文本 |
| 11-导入库的方法 | import 的四种写法,学会把别人写好的能力装进自己的程序 |
| 12-time库与random库 | 让程序会看时间(time)、会掷骰子(random) |
| 13-条件表达式 | 一行写完的二选一写法,以及它为什么有时候反而不好读 |
| 14-选择结构 | if / elif / else:让程序学会做判断 |
| 15-循环结构 | for / while / break / continue:让程序学会重复干活 |
| 16-列表 | 一个变量装下一串数:增删改查、排序、遍历 |
| 17-元组 | 写下来就不许改——什么时候用元组比列表更合适 |
| 18-切片操作 | 一行取出序列里的一段,[start:stop:step] 一次讲清 |
| 19-序列解包 | 一行拆出多个值,以及那个「一次不够用」的星号 |
| 20-字典 | 按名字找到对应的值——最常用的数据结构之一 |
| 21-集合 | 不重复的一袋东西:去重、交集、并集、差集 |
| 22-函数 | 把重复的代码收成一个按钮:参数、返回值、默认值、作用域 |
| 23-递归 | 函数自己叫自己:递归的写法、终止条件与常见陷阱 |
| 24-生成器与迭代器 | 一次只算一个:迭代器、生成器函数、生成器表达式,省内存地遍历 |
| 25-异常处理 | try / except / finally:让程序不再一出错就崩掉 |
| 26-文件处理 | 把数据存进本子:读写文本文件、编码问题、with 的用法 |
| 27-模块与包 | 把自己的代码拆成多个文件:模块、包、if __name__ == '__main__'、虚拟环境 |
| 28-常用标准库 | 标准库四件工具:pathlib、json、csv、datetime |
| 29-正则表达式 | 用「模式」从文本里捞数据:re 模块与常用元字符 |
| 30-面向对象编程 | 自己动手造一个「类型」:类、对象、属性、方法 |
| 31-综合实战:班级成绩统计程序 | 把前面所有工具拼成一个真正能用的成绩统计程序 |
| 32-Trae打包可执行程序 | 把自己的程序打包成别人双击就能跑的可执行文件 |
csv);「我要判断输入是不是手机号」——第 29 篇(正则表达式)。四、三种学习节奏:按你的时间挑一条
不是每个人都需要把 30 篇从头读到尾。按自己的目的挑一条走:
| 节奏 | 怎么走 | 适合谁 |
|---|---|---|
| 速通 约 10 篇 | 6-输入输出 → 7-运算符 → 8-数据类型 → 14-选择结构 → 15-循环结构 → 16-列表 → 20-字典 → 22-函数 → 25-异常处理 → 26-文件处理 | 只想尽快能写出「读文件、算一算、输出结果」的小脚本 |
| 常规 全部 30 篇 | 按编号顺序走,每篇自测做到全对再往下 | 想在几周内系统掌握 Python 基础,目标最稳 |
| 精读 30 篇 + 动手改造 | 在常规的基础上,把 31-综合实战:班级成绩统计程序 里的程序改成自己的题目(账单统计、图书借阅、课程表……),改到能跑通为止 | 要为后续的学习或工作真正用上 Python |
注意「常规」那一栏的关键词是「按编号顺序」。这套教程的编号就是精心排过的教学顺序——前面的假设都会在后面用到,跳着看容易出现「这个词怎么没讲过」的挫败感。
AI 助手小贴士|每周能投入的时间因人而异,让 AI 把本篇的「三种学习节奏」落成你自己的周计划。
打开任意 AI 对话工具(网页版或 App 都可以),试试这样问:我在自学 Python,每周只有 3 小时且都在周末。请按「第 1 周学什么、第 2 周学什么」的格式帮我排一份 8 周入门计划,每周给出要读的主题和一个小练习
课程思政|工匠精神与严谨求实 · 挑一条路,走到头
速通、常规、精读,三种节奏没有哪一种更高贵,关键是选定一条就别半路换道。选「常规」的人要记住那栏里的小字:每篇自测做到全对,再往下走。地基没打牢就赶进度,省下的时间迟早要在「莫名其妙的报错」里还回去。学习这件事,稳比快重要。
五、这十篇必须吃透(其余的能跑通就行)
30 篇都一样重要是假的。下面这十篇是后面所有内容的公共地基——它们出问题,会以「莫名其妙的报错」的形式,在很远的地方冒出来:
| 篇目 | 为什么非吃透不可 |
|---|---|
| 8-数据类型 | 所有诡异的报错,一半来自「拿字符串当数字用」。类型这一关不过,后面全是坑 |
| 10-字符串 | 字符串是处理真实数据时最常打交道的类型,切片和方法必须熟练到不用查 |
| 14-选择结构 | if 是逻辑的入口;判断条件写错,程序不会报错,只会算错 |
| 15-循环结构 | 循环边界(从 0 开始、包不包含末尾)是初学者最大的错误来源 |
| 16-列表 | 列表是后面一切「批量数据」的原型,不熟就没法往下走 |
| 20-字典 | 字典是 Python 里最有用的数据结构,没有之一。统计、查找、配置全靠它 |
| 22-函数 | 不会写函数,代码超过 50 行就会变成一团乱麻 |
| 25-异常处理 | 真实世界的数据永远有意外;不会处理异常,程序就只是个玩具 |
| 26-文件处理 | 不会读写文件,程序的结果关掉窗口就消失了 |
| 31-综合实战:班级成绩统计程序 | 综合实战。前面的知识点只有在这里被串起来一次,才算真正学会 |
六、每一页怎么看:页面上的四个东西
30 篇的页面长得一样,认识这四个东西,用起来会顺手很多:
| 页面上的东西 | 它是干什么的 | 怎么用 |
|---|---|---|
| 左侧的竖排小书签 | 全篇的目录 | 点一下展开,再点任意一节直接跳过去;不点也不挡正文 |
| 右上角的圆钮 | 切换浅色 / 深色 | 晚上看改用深色;你的选择会被浏览器记住 |
| 深色代码块 | 可以直接运行的 Python 代码 / 运行结果 / 报错原文 | 右上角有复制按钮,复制到编辑器里就能跑 |
| 文末的随堂自测 | 单选,点了立刻判分并给出解析 | 做完看正确率;错题重看对应小节 |
顺便说一句:代码块里的输出,都是真的跑出来的,不是手写上去的。所以你可以放心照着敲——如果结果对不上,那是环境或输入的问题,不是教程写错了。
先验证一下你手上的环境是通的。新建一个文件,写下这两行:
print("环境通了,准备开始学 Python 啦")
print(2 + 3)
输出:
环境通了,准备开始学 Python 啦
5
AI 助手小贴士|读教程遇到看不懂的句子,别跳过去——AI 最擅长把术语翻译成大白话。
打开任意 AI 对话工具(网页版或 App 都可以),试试这样问:我把教程里一句看不懂的话贴给你,请用初中生能听懂的话解释,再给一个对应的代码小例子:<粘贴原句>
七、每天 30 分钟,具体怎么安排
「每天学一点」最容易失败的两种方式是:只读不写、或者一坐两小时。下面这个节奏是照着「宁可少、不能断」设计的:
| 时间 | 做什么 |
|---|---|
| 前 5 分钟 | 把上一篇的代码重新敲一遍(不复制),跑了看输出对不对 |
| 中间 15 分钟 | 读新的一篇,每个代码块都亲手敲一遍;报错也不怕,报错信息正好对着「报错手册」那一节看 |
| 最后 10 分钟 | 做这一篇的随堂自测。做错的题,把解析读一遍,再回正文找到对应小节 |
关于「亲手敲一遍」,值得多说一句:复制粘贴和省下的那三分钟,代价是学不会。敲的时候你会注意到缩进、括号、引号这些细节——而这些细节恰恰就是初学者 90% 的报错来源。等你把某一类代码敲到「手比脑子快」,才可以开始复制。
课程思政|科技自立自强 · 本事得长在自己身上
「宁可少、不能断」,靠的不是意志力,是方法:把上一篇的代码 重新敲一遍,不复制。复制粘贴省下的三分钟,代价是缩进、括号、引号这些细节从手里溜走。工具可以先用别人的,手感必须自己练出来——今天多敲一行,将来少求人一次。
八、常见问题
Q:完全没有数学基础,能学吗?
能。这套教程里出现的数学只有加减乘除、取余、求平均,第 7 篇讲完就够用了。Python 是一门「表达逻辑」的语言,不是数学课。
Q:学完这 30 篇,算是什么水平?
能把「读文件 → 清洗 → 计算 → 输出 → 存盘」这条链路独立走通,能看懂别人的基础代码,能自己查文档用新库。这已经足够应付大部分数据处理、办公自动化的日常任务,也是继续学数据分析、Web 或人工智能的合格起点。
Q:为什么要先学 IDLE,再学 TRAE,不能直接用最好的编辑器吗?
因为 IDLE 是 Python 自带的,零安装、零配置。第 3 篇用它把「程序是什么」这件事讲清楚,不带任何编辑器功能的干扰;第 4 篇再换成真正干活的编辑器,学快捷键和调试。顺序反过来,你会在还没搞懂程序的时候先被配置问题劝退。
Q:看的时候都懂,自己写就写不出来,怎么办?
这是常态,不是你笨。原因是「看懂」用的是再认(看到答案才想起),而「写出」用的是回忆。唯一的办法是增加回忆的次数:把示例代码关掉自己默写一遍、把题目换个数据再做一遍。第 31 篇的综合实战就是为此设计的——它逼你把零散的知识点重新组织一次。
Q:需要背语法吗?
需要背的很少,但有三个东西要熟练到不用想:常用内置函数的名字(第 9 篇)、列表和字典的增删改查写法(第 16、20 篇)、字符串的切片和方法名(第 10 篇)。其余一律现查。真正需要「背」的是思维方式——遇到问题先想「数据长什么样」,再想「分几步做」,这个习惯才是一辈子的。
Q:学完这套,下一步该学什么?
先别急着往上学。最划算的下一步是把第 31 篇的程序改成三个自己的版本(比如换成记账、通讯录、课程表),全部跑通。等你能不查教程地独立写出来,再按兴趣挑方向:数据处理去看 pandas,自动化去看 openpyxl / requests,Web 去看 Flask 或 FastAPI。到那时候你会发现,真正难的从来不是新库,而是这 30 篇里那些最基础的东西。
AI 助手小贴士|从今天起,豆包、DeepSeek 这类 AI 就能当你的随身助教——但用法决定成败:让它当陪练(给提示、指出问题),不要当枪手(直接要答案)。还有一条铁律:AI 的解释偶尔会一本正经地说错话,一切以你自己运行出来的结果为准。
打开任意 AI 对话工具(网页版或 App 都可以),试试这样问:我在自学 Python。请当我的陪练老师:我看不懂概念时你负责解释,我给你看代码时你只指出问题和给提示,不要直接给完整答案