trekhleb/learn-python:一个适合边写边学的 Python 手册

乌克兰开发者 Oleksii Trekhleb 维护的 learn-python 项目,在 GitHub 上已经积累了超过 1.8 万 Star。这项目是纯粹的代码示例库,按主题拆分,clone 下来就能直接跑。

正文顶部截图

结构简单,覆盖全面

整个仓库把 Python 语法按知识点拆分,每个知识点对应一个 .py 文件。文件里包含代码示例,用注释解释用法,再用断言语句展示预期输出。

覆盖的范围很全。从变量定义、运算符、数据类型这些基础内容,到控制流、函数、类与继承、模块导入、异常处理这些进阶主题,再到文件读写和标准库。一共 12 个大类,基本涵盖了 Python 入门的全部知识点。

README区域截图

每个文件的结构都一样。文档字符串说明主题,并附上学习链接。测试函数展示子主题的具体用法。注释标注每行代码的作用。最后用 assert 展示运行结果。这种统一结构让找东西很方便,点开任何一个文件都知道该看什么。

playground 和 cheatsheet 二合一

项目 README 里把自己定位成 playground 和 cheatsheet。作为 playground,你可以直接修改代码,加新断言,再用 pytest 跑测试看结果。作为 cheatsheet,你可以翻开某个文件,看一下特定语法的用法和预期输出,不用启动解释器。

这个定位很准。学编程光看不动手,效果一般。这项目让你可以直接在代码上操作,改一行跑一下,比看十遍书有用。而且每个示例都带了断言,你不需要自己写验证逻辑,直接跑就能看到对不对。

附带代码规范检查

项目还集成了 pylint 和 flake8。除了学语法,你还能顺便了解 PEP 8 规范。pylint 可以检查代码风格问题,比如缺少文档字符串。flake8 会从另一个角度检查代码格式。初学者在一开始就接触这些工具,能少走很多弯路。

仓库支持多语言 README,简体中文、繁体中文、葡萄牙语、西班牙语、乌克兰语都有。中文用户看起来不费劲。

实际怎么用

先确保本地有 Python 3 环境,然后 clone 仓库,安装 requirements.txt 里的依赖。之后用 pytest 跑一遍全部测试,确认环境正常。接着按需打开对应主题的文件,先看注释理解代码逻辑,再尝试修改代码或加新断言,观察变化。

适合谁用

如果你刚开始学 Python,可以按目录顺序逐个主题过一遍。变量、运算符、数据类型、控制流、函数、类,这样一条线走下来,基础能打得比较牢。

如果你已经学过 Python,但某个语法点记不太清,直接打开对应文件看示例和断言就行。比如忘了列表切片怎么写,打开 test_lists.py 就能看到各种切法及其结果。不用翻官方文档,也不用去搜 Stack Overflow。

整体来看,这项目胜在实用。没有多余的东西,就是一堆能直接跑的代码示例,配上注释和断言。想动手学 Python 的人,值得一看。

堆能直接跑的代码示例,配上注释和断言。想动手学 Python 的人,值得一看。

更多推荐