xiaolai/the-craft-of-selfteaching
摘要
李笑来开源的《自学是门手艺》一书仓库,以 Jupyter Notebook 形式教授 Python 编程与自学方法,强调通过阅读和刻意练习掌握编程技能。
查看缓存全文
缓存时间: 2026/10/28 13:25
xiaolai/the-craft-of-selfteaching
Source: https://github.com/xiaolai/the-craft-of-selfteaching
the-craft-of-selfteaching
One has no future if one couldn’t teach themself[1].
自学是门手艺
没有自学能力的人没有未来
作者:李笑来
特别感谢霍炬(@virushuo)、洪强宁(@hongqn) 两位良师诤友在此书写作过程中给予我的巨大帮助!
# pseudo-code of selfteaching in Python
def teach_yourself(anything):
while not create():
learn()
practice()
return teach_yourself(another)
teach_yourself(coding)
请先行阅读 T-appendix.jupyter-installation-and-setup 以便在本地安装 Jupyterlab 而后就能用更好的体验阅读本书。
有兴趣帮忙的朋友,请先行阅读 如何使用 Pull Request 为这本书校对。
2019 年 3 月 23 日,新增 Markdown 版本:
https://github.com/selfteaching/the-craft-of-selfteaching/tree/master/markdown
目录
- 01.preface(前言)
- 02.proof-of-work(如何证明你真的读过这本书?)
- Part.1.A.better.teachyourself(为什么一定要掌握自学能力?)
- Part.1.B.why.start.from.learning.coding(为什么把编程当作自学的入口?)
- Part.1.C.must.learn.sth.only.by.reading(只靠阅读习得新技能)
- Part.1.D.preparation.for.reading(开始阅读前的一些准备)
- Part.1.E.1.entrance(入口)
- Part.1.E.2.values-and-their-operators(值及其相应的运算)
- Part.1.E.3.controlflow(流程控制)
- Part.1.E.4.functions(函数)
- Part.1.E.5.strings(字符串)
- Part.1.E.6.containers(数据容器)
- Part.1.E.7.files(文件)
- Part.1.F.deal-with-forward-references(如何从容应对含有过多 “过早引用” 的知识?)
- Part.1.G.The-Python-Tutorial-local(官方教程:The Python Tutorial)
- Part.2.A.clumsy-and-patience(笨拙与耐心)
- Part.2.B.deliberate-practicing(刻意练习)
- Part.2.C.why-start-from-writing-functions(为什么从函数开始?)
- Part.2.D.1-args(关于参数(上))
- Part.2.D.2-aargs(关于参数(下))
- Part.2.D.3-lambda(化名与匿名)
- Part.2.D.4-recursion(递归函数)
- Part.2.D.5-docstrings(函数的文档)
- Part.2.D.6-modules(保存到文件的函数)
- Part.2.D.7-tdd(测试驱动的开发)
- Part.2.D.8-main(可执行的 Python 文件)
- Part.2.E.deliberate-thinking(刻意思考)
- Part.3.A.conquering-difficulties(战胜难点)
- Part.3.B.1.classes-1(类 —— 面向对象编程)
- Part.3.B.2.classes-2(类 —— Python 的实现)
- Part.3.B.3.decorator-iterator-generator(函数工具)
- Part.3.B.4.regex(正则表达式)
- Part.3.B.5.bnf-ebnf-pebnf(BNF 以及 EBNF)
- Part.3.C.breaking-good-and-bad(拆解)
- Part.3.D.indispensable-illusion(刚需幻觉)
- Part.3.E.to-be-thorough(全面 —— 自学的境界)
- Part.3.F.social-selfteaching(自学者的社交)
- Part.3.G.the-golden-age-and-google(这是自学者的黄金时代)
- Part.3.H.prevent-focus-drifting(避免注意力漂移)
- Q.good-communiation(如何成为优秀沟通者)
- R.finale(自学者的终点)
- S.whats-next(下一步干什么?)
- T-appendix.editor.vscode(Visual Studio Code 的安装与配置)
- T-appendix.git-introduction(Git 简介)
- T-appendix.jupyter-installation-and-setup(Jupyterlab 的安装与配置)
- T-appendix.symbols(这些符号都代表什么?)
本书的版权协议为 CC-BY-NC-ND license。

脚注
相似文章
@bkdgiffug:李笑来的《自学是一门手艺》在 GitHub 上已经拿到 17000+ Stars。表面上看是在教编程……
李笑来的开源书《自学是一门手艺》在 GitHub 上已突破 17000 颗星。它以编程(Python、递归、TDD、问题分解)为载体,真正要培养的是真正的自学能力,因此更像一套学习方法论,而非普通的入门编程指南。
@VincentLogic: 一个 /teach 干翻我三年学习方法 学东西这件事我经历了三个阶段 最早就是啃文档。白皮书、官方 spec,一页页翻,翻到第三章开始走神,翻到第五章已经忘了第一章讲啥。但没办法,那时候只有这条路 后来大模型出来了,不懂的概念丢给 Cha…
作者分享了使用Claude Code的/teach技能进行学习的新方法,认为AI引导学习相比传统啃文档和追问ChatGPT更高效,能自动规划课程并生成交互式课件。
@XAMTO_AI: 自学编程这事儿,谁起步时没被现实按在地上摩擦过几轮? 有个北大本科生,大一就扎进计算机里自己折腾,四年熬下来,那些绊过他的、让他差点放弃的,反倒成了最值钱的经验——他把所有真正起过作用的学习资料和课程,按实战顺序理成了一份开源文档。 底层…
北大本科生将自学计算机四年积累的高质量开源课程资源(来自MIT、斯坦福、伯克利等)按实战顺序整理成一份开源文档,旨在帮助零基础者系统学习编程。
@Vincent_AINotes: 你看了 100 本书、收藏了 500 个视频、听了 200 期播客。 然后呢? 大部分躺在笔记里,再也没打开过。 Cangjie Skill(仓颉)做了一件事: 把书、长视频、播客里的方法论,蒸馏成 AI 可直接调用的 Skill。 读完…
Cangjie Skill(仓颉)是一个工具,将书籍、长视频、播客中的方法论蒸馏成AI可直接调用的Skill,让你在阅读或观看后能带走可用的方法论。
@WWTLitee: 推荐一个超屌的东西:codecrafters-io/build-your-own-x 目前 513k+ Stars 简单说他就是一个造一切的说明书,你想造啥就能造啥 它不是一个工具,而是一份“从零造轮子”的学习路线合集 自己写数据库、浏览…
介绍 codecrafters-io/build-your-own-x 仓库,一个收集了从零开始构建各种技术的教程合集,帮助开发者通过动手实践来理解底层原理。