18565 颗星给了一本自学教材:李笑来把 Python 课写成「自学的手艺」

18565 颗星给了一本自学教材:李笑来把 Python 课写成「自学的手艺」

5天前
duguying
12 阅读
来源:GitHub

李笑来 2019 年的开源书《自学是门手艺》以 18565 星重回 Trending——它把 Python 入门和「怎么自学」编进同一组可运行的 Jupyter Notebook。

相关标签

#GitHub#Trending#自学#Python

今天的 Trending 榜单几乎被 agent 工具占满,夹在中间的却是一本 2019 年的老书——李笑来的开源教材《自学是门手艺》,以 18,565 星、单日新增 148 星重新上榜。

它的开场白不太客气:「没有自学能力的人没有未来」。README 第一行是英文原文 “One has no future if one couldn’t teach themself”,第二行就是这句中文,然后是一段 Python 伪代码:

def teach_yourself(anything):
    while not create():
        learn()
        practice()
    return teach_yourself(another)

teach_yourself(coding)

这段代码其实就是全书的方法论压缩包:学不会就一直学、一直练,直到能做出东西;能做出东西之后,换下一个目标重来。

把”怎么学”和”学什么”编进同一份文件

这本书最特别的地方在于载体——它本身就是一组 Jupyter Notebook。每一章是一个可以打开、可以运行的 .ipynb,不是排好版的静态文章。你读到 Python 语法,顺手就能在同一页里执行它。作者建议先在本地装好 JupyterLab 再读,体验会好很多;2019 年 3 月 23 日也补了一份 Markdown 版本,方便纯阅读。

结构上分三部分:

Part.1 讲为什么。为什么一定要掌握自学能力、为什么把编程当作自学的入口、如何只靠阅读习得新技能、开始阅读前要做哪些准备,以及一个很实际的问题——面对充满”过早引用”的知识(后面的章节才能解释的概念)该怎么从容读下去。

Part.2 讲怎么练。开头两章是心态:笨拙与耐心、刻意练习;接着从函数切入 Python——为什么从函数而不是变量开始,然后是参数、变长参数、lambda(化名与匿名)、递归、docstring、模块、TDD、__main__,中间插了一章”刻意思考”。

Part.3 讲往深处走。类(面向对象,以及 Python 的实现方式)、装饰器/迭代器/生成器、正则、BNF 与 EBNF、拆解问题、刚需幻觉、”全面——自学的境界”、自学者的社交、”这是自学者的黄金时代”、以及如何避免注意力漂移。

末尾三个附录全是环境配置:VS Code 的安装与配置、Git 简介、JupyterLab 的安装与配置。看得出作者的判断——自学的第一道坎不是概念,是环境。

连”怎么贡献”都当成一道练习题

书里有个细节很能说明它的取向:想帮忙校对的人,要先读 02.proof-of-work.ipynb(如何证明你真的读过这本书?),里面教的是怎么用 Pull Request 为这本书校对。

也就是说,提交一次合格的贡献本身被设计成了课程的一部分——不是”欢迎 star”,而是”请先证明你能按规矩改对一处”。

授权是 CC-BY-NC-ND 3.0(署名、非商业、禁止演绎),这意味着它可以自由阅读和分发,但不能改写出衍生作品去卖。

为什么它今天会回来

一本七年前的教材重新上榜,通常不是因为内容变了,而是因为读者变了。今天榜单上另外几个项目在做的事,是把写代码、写文档、管项目这些环节交给 agent;那么留给人的核心能力就开始后退一步——不是记住语法,而是判断该学什么、怎么验证自己学会了、什么时候该停下来重来。

这本书押的正是这一层。它不承诺 21 天精通,也不提供捷径,只给了一个循环:学、练、做到能创造,然后换下一个目标。工具越自动,这个循环越像基础设施。

仓库地址:https://github.com/xiaolai/the-craft-of-selfteaching

返回列表

更多资讯

想看更多优质内容?

浏览所有资讯