《 Python 源码剖析》一书有续作么?

2020-11-26 11:18:46 +08:00
 AlohaV2
是一本很好的书,但是里面是 Python 2.x 的剖析,想知道有没有类似的剖析 Py 3.x 的书籍。先谢谢啦
5722 次点击
所在节点    Python
26 条回复
Jammar
2020-11-26 11:23:35 +08:00
流畅的 python
janxin
2020-11-26 11:51:48 +08:00
多次延期的作者现在已经失踪啦~
paddistone
2020-11-26 12:24:39 +08:00
自己看源码吧,3.x 版本有的章节更新了,比如取消 PyIntObject 对象这些,整体脉络是保持一致的,抽象更统一,优化点和功能也增加了一些,比如某些对象的回收问题,编译指令集也更新了。去官网下载一份 python 源码,目录都没怎么变
fasionchan
2020-11-26 12:38:31 +08:00
不嫌弃的话,可以看看我写的专栏《 Python 3 源码剖析》: https://www.imooc.com/read/76
专栏以 Python3.7 源码为准,分为 7 大模块展开:

- 对象模型
- 内建对象
- 虚拟机
- 函数机制
- 类机制
- 生成器与协程
- 内存管理机制

考虑到 C 源码太过隐晦,我绘制了大量的底层结构示意图,应该更易读一点。我公众号上有几个样章,可以试读:

为什么要钻研 Python 源码: https://mp.weixin.qq.com/s/3T59Li0W116T-xDRHwjeFg
小菜成长之路,警惕沦为 API 调用侠: https://mp.weixin.qq.com/s/S_daJB8ZDUp4lSVVhlS0Dw
Python 对象模型概述: https://mp.weixin.qq.com/s/jFYMprMoD0fLQ9qLxd2SyQ
揭开 Python 对象的神秘面纱: https://mp.weixin.qq.com/s/yIhVXKM2TbY2zKRtFtURyw
str 对象,统一的 Unicode 字符串: https://mp.weixin.qq.com/s/E7z2yN8V9ac2pUTfgqDg9Q
GIL,束缚 Python 的紧箍圈: https://mp.weixin.qq.com/s/lIkcTuCX5htQcteklCFaZw
手把手教你设计协程库: https://mp.weixin.qq.com/s/MaLMf3HZCYfmzxOY1QfPnw
内存池技术如何优化分配效率: https://mp.weixin.qq.com/s/SRd6r1URibR3ZSulT1GDug

专栏是付费的,请试读觉得合适再买哈,不要冲动消费,哈哈~
因能力有限,我不敢说写得多好,用心而已。
有什么建议或者感兴趣的话题,也可以向我提哈,我后续会抽空完善。
dream4ever
2020-11-26 13:05:41 +08:00
@fasionchan 看了样章里的第二篇,很有意思,赞一个
TypeError
2020-11-26 13:20:04 +08:00
https://leanpub.com/insidethepythonvirtualmachine/read
推荐这本 inside the Python virtual machine
so1n
2020-11-26 13:23:14 +08:00
听说圣诞节就有了
laike9m
2020-11-26 13:25:20 +08:00
说一本我自己买了的:《 CPython Internals 》,基于 Python 3.9 的源码、底层分析。
https://realpython.com/products/cpython-internals-book/

然后楼上推荐的 Inside the Python virtual machine,免费
laike9m
2020-11-26 13:26:11 +08:00
@janxin #2 再等等,圣诞节快到了🐶
laike9m
2020-11-26 13:27:40 +08:00
@fasionchan #4 不知道你的教程讲没讲异常处理,这块在 3.7 之后变得还挺多的
fasionchan
2020-11-26 13:30:24 +08:00
@laike9m 异常处理目前还没有涉及,我回头看看
zouzou0208
2020-11-26 13:38:50 +08:00
我看过一部分这个 repo 还不错。
https://github.com/zpoint/CPython-Internals

另外: pythontutor 做过一个系列 但是是 2.7 的也挺好的。
<amp-youtube data-videoid="LhadeL7_EIU" layout="responsive" width="480" height="270"></amp-youtube>&list=PLzV58Zm8FuBL6OAv1Yu6AwXZrnsFbbR0S&ab_channel=PhilipGuo
anaf
2020-11-26 14:20:05 +08:00
深藏大佬
ruanimal
2020-11-26 14:34:11 +08:00
@janxin 他几年前就说更新,估计已经胎死腹中了
mw717if
2020-11-26 15:33:56 +08:00
别等了 作者已经转战 golang 了
liudongqiang92
2020-11-26 16:01:16 +08:00
@fasionchan 我买了这个专栏,非常不错,赞
zhuangzhuang1988
2020-11-26 21:19:49 +08:00
简单不是高效的方法
直接 visualstudio2019 编译, 下断点 动态调试看
quzard
2020-11-26 23:36:37 +08:00
@fasionchan 入了入了。年前虽然看了大半本流畅的 Python,但 2 年没碰 Python 又记得零零碎碎。再温习一下
hxysnail
2020-11-27 09:06:00 +08:00
@fasionchan 看了你发的样章,写得确实不错,图画得超棒!赞赞赞!
world1
2020-12-11 20:17:53 +08:00
@laike9m 这本书必须得用 dollar 吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/729394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX