跳转到内容

Fluent Python 读书笔记

《Fluent Python》第二版(Luciano Ramalho, O'Reilly)的中文笔记、可运行代码和测试。

读 Fluent Python 第二版时的笔记。每章一页,代码能跑,测试能过。

不是译本。原文是英文,这里保留全部代码、术语和 API 名字,只把解释写成中文,并加上我自己的验证结果。

笔记

按章节来。先给结论,再讲原因。代码原样贴,解释写在代码块外面。

代码

每章有对应的可运行示例,放在仓库的 chapters/ 下。跟书上基本一致,去掉了 doctest 噪声。

测试

每个示例配 pytest 测试。自己写一遍测试,才知道对特殊方法的理解有没有错。

速查

特殊方法清单和运算符对照表单独成页,当查阅手册用。

特殊方法是给 Python 解释器调用的,不是给你调用的。你不写 my_object.__len__(),你写 len(my_object)。

这一条想通了,第 1 章后面所有的 “白拿” 都能解释:为什么只写 __getitem__,deck[:3]、reversed(deck)、card in deck 就都能用了。