1
zoowii 2016-09-24 11:08:54 +08:00
和 C 语言水平应该关系不大
|
2
xuqd 2016-09-24 11:09:28 +08:00
《 Python 源码剖析 》
|
4
wizardforcel 2016-09-24 11:18:23 +08:00
《 Python 源码剖析 》
CPython 是 C 写的面向对象,如果不刻意去理解还真看不懂。 |
5
uhayate OP @wizardforcel 就是咯。 C 语言水平太菜了,所以需要提升一下。
|
6
ruoyu0088 2016-09-24 13:11:32 +08:00
有个好的代码阅读软件比较重要。然后就是用 ctypes, cffi 之类的写一些实验代码帮助理解。
|
7
sylecn 2016-09-24 13:21:03 +08:00
如果你对编译器和语言感兴趣,才建议看 python 源码。否则,单纯为了学 C ,不推荐看 CPython 源码。
如果 C 基础不行,建议选一种简单的 scheme 实现开始看,不要上来就看 python 这么复杂而且有历史包袱的语言。 看编译器的实现,需要对语言和编译器技术有一定了解,单单了解 C 的库和语法是远远不够的。所以如果这些有欠缺,先补一下编译器原理之类的,再看源码会比较容易。 如果你只是看部分标准库的实现,那就当我没说。那些内容除了遵循 python 模块规范和使用 python 数据结构,其它都和标准 C 差不太多。看多了就懂了。 |
8
starcraft 2016-09-24 13:40:43 +08:00 via iPhone
和 c 水平没太大关系,因为这是基础中的基础。读 python 源码轻不轻松取决于你整个编译知识体系。你纠结错了关键点。 c 不过关的话,连第一步都没迈出....
|
9
jmp2x 2016-09-24 17:04:59 +08:00
@wizardforcel 最近看了些,确实是,用结构体去实现类对象,结构体的嵌套前置,就是父类,实现的很有意思。
|