五十节课,按真正能理解的顺序。
每节课都能一次读完。读完后立刻练习,趁概念还新鲜。
Python 打印与字符串
让 Python 显示文字、组合多个值,并输出真正看得懂的消息。
Python 变量与数据类型
用变量保存值,理解 Python 如何判断一个值属于什么类型。
Python 字符串方法
用日常最常用的字符串方法清理、拆分、连接和检查文本。
Python if、elif 与 else
用比较和布尔逻辑,让程序在不同情况下走不同的路径。
Python for 循环
对一组值重复执行同样的工作,不用把同一行代码写很多遍。
Python 列表
保存有序集合,安全地修改它,并取出你需要的部分。
Python 字典
用有名字的键保存值,通过名称查找,而不是通过位置。
Python 函数
把一次计算封装起来,起个名字,之后反复使用,不用复制代码。
Python 错误处理
捕获可预期的失败,给出有用的兜底结果,让程序继续运行。
Python JSON 入门
把 JSON 文本变成 Python 值,读取嵌套记录,再把数据写回 JSON。
Python while 循环
在条件变化前反复执行,并知道什么时候该停下来。
Python 元组与集合
固定记录用元组,唯一值集合用 set,让数据结构的意图更清楚。
Python 列表推导式
用更紧凑的表达式从旧集合构建新集合,而不是写一长串循环。
Python 排序与 key 函数
按照真正关心的字段排序,而不是只对一串数字排序。
Python 类与对象
把数据和操作数据的函数组合成一个可复用的小对象。
Python 模块与导入
复用已经写好的代码,而不是重新造一遍。
Python 嵌套数据
像处理 JSON 一样,一层一层地读取数据。
Python Lambda、map 与 filter
写简短函数,不写循环也能转换序列。
Python 递归
把问题交给一个更小版本的自己。
Python 正则表达式
用模式查找和替换文本,而不是手写解析器。
Python enumerate 与 zip
不用手写计数器,也能拿到位置并并行遍历序列。
Python pathlib 路径
把文件路径当作对象,而不是容易出错的字符串。
Python datetime 日期与时间
准确处理日历日期和简单的时间间隔。
Python assert 测试
把预期行为变成可以反复运行的检查。
Python 类型提示
让读者和工具一眼看出数据的形状。
Python 生成器
按需产生值,而不是一次构建完整列表。
Python 装饰器
用可复用的行为包装函数,而不修改函数体。
Python 上下文管理器
用 with 代码块保证准备和清理一定发生。
Python dataclasses
用声明式字段定义以数据为中心的类,减少重复样板。
Python itertools
组合惰性迭代器,完成计数、拼接和分组。
Python collections
选择正确的容器,而不是每次手写同样的逻辑。
Python functools
用缓存、部分应用和折叠复用函数行为。
Python 枚举
为一组固定值命名一次,然后在所有地方使用这些名字。
Python CSV 文件
读写表格文本,不必自己按行和逗号拆分。
Python 日志
用级别、处理器和格式记录程序发生了什么。
Python 爬虫 HTTP 请求
先构造一个礼貌的请求,再解析第一个标签。
Python HTML 解析
让解析器理解 HTML 结构,而不是用正则猜。
Python URL 解析
链接进入队列前,先把相对地址补全。
Python 分页与去重
抓取就是一个带记忆和预算的队列。
Python robots.txt 与礼貌抓取
许可、限速和隐私,都是爬虫的一部分。
Python 分词与文本向量
把文本变成词元,再用向量比较文档。
Python softmax 与温度
把原始分数变成不会溢出的概率分布。
Python 最近邻分类器
看一个点最像哪些邻居,再用邻居的标签分类。
Python 模型评估与准确率
只有知道指标测量了什么,分数才有意义。
Python 提示词模板与结构化输出
把模型输出当成不可信输入,而不是完成的数据。
Python 线性回归:从直线到误差
拟合一条直线,做预测,再衡量它错了多少。
Python 梯度下降:一步一步靠近
沿梯度向下走,看看学习率为什么重要。
Python 朴素贝叶斯文本分类
用计数、先验和平滑给短文本分类。
Python k-means 聚类:从距离到收敛
分配样本、移动质心,重复到结果稳定。
Python 模型监控与漂移检查
在用户察觉之前,先发现模型行为的变化。
“学 Python 最好的方式,是写一点点、预测会发生什么,然后弄清楚自己为什么猜错。”
PyPractice 方法
尝试 → 检查 → 解释 → 再做一次
一个练习循环,而不是内容堆叠。
一节课十分钟就能完成,还能留出时间真正动手做题。
一次只学一个概念
短解释配可运行的代码。不用安装,也不会被一大段语法淹没。
三种回忆方式
选择答案、补全代码,或预测精确输出。不同题型检查理解的不同部分。
读原因,而不只看对错
答对不是终点。解释会指出关键规则,让下一次尝试更有依据。
回答初学者真正会问的问题。
需要练习计划、学习方法,或某个主题的专项练习时,可以从这里开始。
Python 初学者练习计划:4 周上手路线
初学者通常不缺视频,缺的是少量概念加上足够多次的主动练习。这份计划把前 10 节核心短课安排成 4 周,每天 20–30 分钟,重点是写代码、预测结果和纠正错误;后…
练习方法Python 练习题带答案:如何练习而不只是抄答案
答案只有在你先尝试之后才有价值。如果一上来就看答案,你可能会“认得”它,却无法独立写出来。下面这套三步法,能把答案解释变成真正的能力。…
课程重点Python print 练习:sep、end 与 f-string
print() 看起来简单,却是检查程序最快的方式。这组练习覆盖初学者最容易忽略的细节:分隔符、行尾、引号和格式化。…
课程重点Python 循环练习:覆盖大多数初学者问题的 5 个模式
大多数初学者循环题,都是五个基本模式的变体。先认出模式,再写语法,比面对空白编辑器硬想更快。…
课程重点Python 列表练习:索引、切片与排序
列表是大多数初学者最早使用的数据结构,也是小错误的集中地。这组练习聚焦索引、切片、原地修改,以及 sort 和 sorted 的区别。…
专项练习Python while 循环练习:覆盖大多数问题的 5 个模式
大多数 while 循环题都是五个基本模式的变体。先认出模式,再写条件和更新语句,就不用凭感觉试。…
专项练习Python 元组与集合练习:固定记录与唯一值
元组和集合解决两类不同的问题:保存固定记录,以及只保留唯一值。练习在它们之间做选择,而不是默认使用列表。…
专项练习Python 列表推导式练习:映射、筛选与构建
推导式是构建集合的紧凑写法。真正该问的不是“能不能写短”,而是“转换是否仍然一眼可见”。…
专项练习Python 排序练习:key、reverse 与记录排序
给数字列表排序只是第一步。真正有用的是按指定字段排序记录,同时保留原始数据。…
专项练习Python 类练习:构建一个小型对象模型
从一个小的记录开始,类会更容易理解。先让对象保存几个字段,加一个方法,测试通过后再增加行为。…
专项练习Python 导入练习:模块、别名与标准库
导入只是很小的语法,却能带来很大的收益:你可以直接使用经过测试的代码,而不是重新实现每个工具。关键是让每个名字的来源清楚可见。…
专项练习Python 嵌套数据练习:字典列表
嵌套数据看起来复杂,直到你给每一层命名。字典列表不过是一组记录,每个字典就是一条带字段的记录。…
专项练习Python Lambda、map 与 filter 练习
map 和 filter 是转换与筛选的短工具。函数足够简单,并且记住 Python 3 中它们返回惰性迭代器时,这两种工具最好用。…
专项练习Python 递归练习:基线条件与更小的问题
先写停止条件,递归会容易很多。然后只问一个问题:这个函数可以把什么样更小的输入传给自己?…
专项练习Python 正则练习:查找、提取与替换
正则表达式是一种描述文本模式的紧凑语言。先写一个清楚的模式,在小字符串上测试,再添加分组或量词。…
专项练习Python enumerate 与 zip 练习:更干净的循环
循环里的大多数错误都来自记账:索引悄悄偏移、计数器从错误的位置开始,或者两个列表已经对不上却没人发现。enumerate 和 zip 把这些关系写进循环头部,让问题…
专项练习Python pathlib 练习:路径、文件名与文本文件
路径不只是一个字符串。它有父目录、文件名、后缀和平台相关的分隔符。pathlib 给这些概念起了名字,让代码可以表达真实意图,而不是用加号拼字符串。…
专项练习Python datetime 练习:日期、时间差与格式化
日期看起来简单,直到月份长度、闰年和时区出现。datetime 模块会替你处理日历规则。真正的关键是选对对象:日期、时长,还是某个具体瞬间。…
专项练习Python assert 练习:用断言测试函数
断言是你对程序做出的声明。声明为假时,Python 会抛出 AssertionError 并停止当前路径。只要不把它和输入校验混为一谈,assert 就是很好的教学…
专项练习Python 类型提示练习:让注解帮助读者
类型提示是沟通工具。它告诉读者函数接收和返回什么,也给编辑器足够的信息,在错误进入运行时之前发出提醒。它不会把 Python 变成静态类型语言。…
专项练习Python 生成器练习指南:惰性取值
生成器不只是新语法,它改变了执行方式:产生一个值,暂停,之后再继续。当完整列表浪费内存、无法构建,或者根本不需要时,这种模型特别有用。…
专项练习Python 装饰器练习指南:包装函数
装饰器的想法很小,回报却很大:函数可以传给另一个函数,并被它的返回值替换。理解这一点后,日志、计时、缓存和校验就能变成可复用的层,而不是到处复制的代码。…
专项练习Python 上下文管理器练习指南
成功路径上的清理很容易忘记,异常打断函数时更容易漏掉。上下文管理器把准备和收尾放在代码块两侧,让清理逻辑只有一个明确的归属。…
专项练习Python dataclass 练习指南:字段
dataclass 是一种简洁表达“这个类主要装数据”的方式。它会生成重复方法,但仍然只是普通 Python 类。理解它生成了什么、没有生成什么,既能减少样板,也能…
专项练习Python itertools 练习指南:惰性数据流
itertools 是一组小型迭代器工具。它们不试图解决整个问题,而是可以组合。认识 count、islice、chain 和 groupby 之后,很多循环会变得…
专项练习Python collections 练习:计数、分组与队列
collections 模块提供一组减少样板代码的小工具。你不需要手写计数循环、缺失键判断或队列,而是直接选择行为已经匹配问题的容器。…
专项练习Python functools 练习:缓存、偏函数与归约
functools 的重点是改造函数,而不是重写函数。你可以缓存昂贵结果、固定一个参数、把序列折叠成一个值,或者在包装可调用对象时保留元数据。…
专项练习Python 枚举练习:名称、值与查找
枚举给状态、颜色、方向这类概念一组固定名称。成员是真实对象,而不是散落的字符串,因此比较和查找都更明确。…
专项练习Python CSV 练习:读取、写入与引号
CSV 看起来像纯文本,直到字段里出现逗号。csv 模块负责引号、分隔符和行边界,你不需要手工按行拆分。…
专项练习Python 日志练习:级别、处理器与格式
需要上下文时,print 语句就不够了。日志给每条消息一个严重级别、一个目的地和一种格式,让你不必修改每个调用点就能检查生产行为。…
专项练习Python 爬虫练习:搭建礼貌的抓取流水线
爬虫是一条流水线,不是一次请求。这些练习把抓取、解析、提取和存储分开,让每个阶段都能在不访问真实网站的情况下测试。…
专项练习Python HTMLParser 练习:链接、文本与属性
把解析器拆成小型处理器,更容易信任。这些练习每次只增加一个职责:收集标签、读取属性、捕获文本,最后组合成记录。…
专项练习Python URL 解析练习:拼接、查询与清理
很多重复链接并不是真的重复,而是同一个目的地的四种写法。这些练习把 URL 字符串拆成组成部分,基于页面补全,再重建成规范值。…
专项练习Python 分页抓取练习:队列、访问集与预算
分页抓取本质上是带预算的图遍历。队列决定下一页,visited 集合防止绕圈,限制让运行结束。这些练习先分别实现,再组合起来。…
专项练习Python robots.txt 练习:规则、延迟与伦理
robots.txt 文件很小,影响却很大。这些练习解析常见指令,解释最长匹配优先级,并把文件放回“礼貌抓取或干脆不抓”的完整决策中。…
专项练习Python 分词练习:词元、向量与余弦相似度
分词是 AI 流水线第一个可能悄悄丢失信息的地方。这些练习把选择摆到明面上:什么算一个词元、词表如何共享,以及相似度分数能说明什么、不能说明什么。…
专项练习Python softmax 练习:稳定性、温度与对数损失
softmax 看起来只有两行算术,细节却很重要:溢出、温度,以及概率和决策之间的区别。这些练习逐块搭建,再连接到损失函数。…
专项练习Python k-NN 练习:距离、投票与缩放
k-NN 是很好的第一个分类器,因为每个决定都看得见:距离、邻居、投票和评估都能检查。这些练习让每一步都可以测试。…
专项练习Python 模型评估练习:不只看准确率
评估是模型与决策相遇的地方。一个准确率数字可能掩盖“永远找不到关心类别”的分类器。这些练习先计算混淆矩阵,再从中推导指标。…
专项练习Python 提示词校验练习:JSON、结构与安全
模型只是 AI 功能的一部分。周围的 Python 决定输入什么、输出是什么形状,以及响应错误时怎么办。这些练习构建校验层,避免坏响应变成坏操作。…
专项练习Python 线性回归练习:拟合、预测与评估
这些练习把线性回归缩小到可以手工检查的程度。你会拟合直线、用基线比较误差,并判断一个预测是否超出了证据范围。…
专项练习Python 梯度下降练习:损失、步长与学习率
当每一步都看得见时,梯度下降才更容易被信任。这些练习把损失、梯度、更新和停止规则拆开,再展示一个糟糕的学习率如何让它们全部失效。…
专项练习Python 朴素贝叶斯练习:计数、先验与平滑
朴素贝叶斯大部分工作就是细致地计数。这些练习构造计数表、转成平滑概率、在对数空间比较类别,并在未参与训练的文本上检查结果。…
专项练习Python k-means 练习:分配、更新与评估
把分配、更新和评估拆成练习,k-means 就没那么神秘。这些例子只使用二维小数据,每个质心都能手工核对。…
专项练习Python 模型监控练习:漂移与告警
监控不是堆满数字的仪表盘,而是一组小型比较。这些练习建立基线、衡量偏移、判断证据是否足够,并只记录真正需要的聚合值。…
项目实录用 Python 跑批量 AI 任务:队列、重试、断点与成本
批量任务不是给 API 调用套一层 for 循环。这篇实录搭出让它跑得住、停得下、算得清的四件事:稳定任务 key、并发上限、断点文件、开跑前就能说清的价格。…
项目实录用 Python 部署本地大模型:Ollama、显存预算与可用接口
本地模型是一个有内存预算、有延迟曲线的进程,不是黑盒。这篇实录讲清决定它能不能撑过一下午的几件事:量化、显存算术、一个 HTTP 接口、降级链,以及上线后该看的数字…
把基础语法拼成一个能跑的小程序。
解析一张小收据,拦住坏行,输出 JSON 小计。五个小步骤、起始代码和验收条件。
开始之前。
需要注册账号吗?
不需要。所有课程和练习都能直接使用。已解决题目保存在浏览器的 localStorage 中,不需要登录。
代码在哪里运行?
课程里的代码通过 Pyodide 在浏览器中运行。首次运行需要从 CDN 下载 Python 运行时,因此需要联网。
一共有多少道题?
站点有 600 道课程题,另有一套 3000 道完整题库。课程题按 50 节课组织,每课 4 道选择题、4 道填空题、4 道输出预测题。
答案在哪里?
每题都有简短解释。课程题中的输出预测答案由构建脚本用真实 Python 执行后生成;完整题库沿用原题库的答案。
第一道题已经在等你。
从 print 和字符串开始,或者直接进入混合练习。