V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zpoint
V2EX  ›  Python

cpython 底层实现笔记

  zpoint ·
zpoint · 2019-04-30 16:50:01 +08:00 · 19123 次点击
这是一个创建于 2016 天前的主题,其中的信息可能已经有所发展或是发生改变。
每个对象都大概配了文字描述和插图, 比如
字典对象实现: https://github.com/zpoint/Cpython-Internals/blob/master/BasicObject/dict/dict_cn.md
整数对象实现: https://github.com/zpoint/Cpython-Internals/blob/master/BasicObject/long/long_cn.md

这是大纲: https://github.com/zpoint/Cpython-Internals/blob/master/README_CN.md
时间充足的话会把勾打完并补充(🐶

写 blog 新手, 如写的不好, 希望能提意见
如有帮助, 可以加个 star
第 1 条附言  ·  2019-08-23 13:40:27 +08:00
91 条回复    2019-08-29 23:44:50 +08:00
1800x
    1
1800x  
   2019-04-30 17:08:08 +08:00   ❤️ 1
已 started
denonw
    2
denonw  
   2019-04-30 17:15:57 +08:00   ❤️ 1
已 star,加油
zpoint
    3
zpoint  
OP
   2019-04-30 18:12:44 +08:00
huagui
    4
huagui  
   2019-04-30 18:41:36 +08:00
强呀
xiexingjia
    5
xiexingjia  
   2019-04-30 19:02:17 +08:00
已 Star
xiexingjia
    6
xiexingjia  
   2019-04-30 19:03:56 +08:00
建议 Cpython --> CPython
zpoint
    7
zpoint  
OP
   2019-04-30 22:12:53 +08:00
@huagui $_$( ⊙ o ⊙ )

@xiexingjia 已 rename, thx
HeavenlyChorus
    8
HeavenlyChorus  
   2019-04-30 23:15:37 +08:00 via Android
资词
toarya
    9
toarya  
   2019-04-30 23:38:44 +08:00 via Android
厉害了
Markbolo126
    10
Markbolo126  
   2019-04-30 23:48:00 +08:00 via iPhone
楼主学 Python 多久了?感觉好厉害👍
SuperMild
    11
SuperMild  
   2019-04-30 23:53:43 +08:00
@Markbolo126 这个重点应该是 C 语言吧
mseasons
    12
mseasons  
   2019-05-01 09:12:54 +08:00
已 Star
shell314
    13
shell314  
   2019-05-01 09:17:05 +08:00 via Android
很棒,已 star
thechosenone
    14
thechosenone  
   2019-05-01 09:34:26 +08:00
star
bearcarl
    15
bearcarl  
   2019-05-01 10:56:39 +08:00
已 star,加油。
menyakun
    16
menyakun  
   2019-05-01 13:39:44 +08:00
想问一下,这种图是怎么生成的
mseasons
    17
mseasons  
   2019-05-01 17:18:34 +08:00
@menyakun 目测 processon
zpoint
    18
zpoint  
OP
   2019-05-01 18:13:26 +08:00
@HeavenlyChorus thx
@toarya [Facepalm]
@Markbolo126 @SuperMild c 和 python 学的起始时间和进度条差不多, 从上学开始算的话, 上学学的时间到现在 减去 上学荒废的时间 == 四年左右[Facepalm]
@mseasons thx
@shell314 thx
@thechosenone thx
@bearcarl thx
@menyakun @mseasons 对了, 是 processon
zhoudaiyu
    19
zhoudaiyu  
   2019-05-01 22:37:06 +08:00 via iPhone   ❤️ 1
已 Star,感谢!
zpoint
    20
zpoint  
OP
   2019-05-05 09:42:35 +08:00
ManjusakaL
    21
ManjusakaL  
   2019-05-05 14:00:40 +08:00
很棒
ManjusakaL
    22
ManjusakaL  
   2019-05-05 14:03:24 +08:00
不过如果时间够的话,可以再写写部分为什么这么设计,比如 Dict 中 dummy 这样的状态存在意义之类的
zpoint
    23
zpoint  
OP
   2019-05-05 20:35:38 +08:00   ❤️ 1
@ManjusakaL 好的,谢谢 O(∩_∩)O
necomancer
    24
necomancer  
   2019-05-07 17:43:48 +08:00
真·学 python ....
zpoint
    25
zpoint  
OP
   2019-05-08 11:27:01 +08:00
locoz
    26
locoz  
   2019-05-08 18:05:40 +08:00
大佬牛逼
ddzzhen
    27
ddzzhen  
   2019-05-08 18:39:13 +08:00 via Android
已 star,方便我等菜鸟
chiu
    28
chiu  
   2019-05-08 18:48:36 +08:00 via Android
支持
0ZXYDDu796nVCFxq
    29
0ZXYDDu796nVCFxq  
   2019-05-08 18:50:11 +08:00 via Android
硬核
dtjydsre
    30
dtjydsre  
   2019-05-08 19:27:48 +08:00
已 Star
OakScript
    31
OakScript  
   2019-05-08 19:29:56 +08:00
先 star 为敬
ech0x
    32
ech0x  
   2019-05-08 19:47:13 +08:00
我突然想起一本咕了很久的书…… 好东西,star。
shenxgan
    33
shenxgan  
   2019-05-08 20:04:45 +08:00
支持,已 star
Ahs
    34
Ahs  
   2019-05-08 21:31:59 +08:00 via Android
先 star 为敬
junnplus
    35
junnplus  
   2019-05-09 00:06:31 +08:00
zpoint
    36
zpoint  
OP
   2019-05-09 09:58:51 +08:00
@locoz 🤦‍♂️
@ddzzhen thx
@chiu thx
@gstqc thx
@dtjydsre thx
@whenhow94 thx
@ech0x thx
@shenxgan thx
@Ahs thx

@junnplus 收藏了🤝
dinjufen
    37
dinjufen  
   2019-05-09 10:00:45 +08:00
正好我也在看,学习下哈
dinjufen
    38
dinjufen  
   2019-05-09 10:01:36 +08:00
那本《 Python 源码剖析》太不清晰了,看的很难受
zpoint
    39
zpoint  
OP
   2019-05-09 15:56:34 +08:00
ManjusakaL
    40
ManjusakaL  
   2019-05-09 18:26:48 +08:00
@junnplus 膜 jun 老师
robinlovemaggie
    41
robinlovemaggie  
   2019-05-20 11:42:49 +08:00
支持一波学院派,这点真真的很 Samwell~
xavier007
    42
xavier007  
   2019-05-20 11:47:16 +08:00
不忍打破 250,但是还是狠了狠心
lrxiao
    43
lrxiao  
   2019-05-20 13:59:27 +08:00
建议看完 repo 还是得吧 Python2.6 源码解析和 Inside Python Virtual Machine 看一遍
quanjw
    44
quanjw  
   2019-05-20 15:51:29 +08:00
295star
zpoint
    45
zpoint  
OP
   2019-05-20 17:39:15 +08:00
@robinlovemaggie thanks
@xavier007 (*´▽`)
@lrxiao (⊙o⊙)
@quanjw (*´▽`)
tinkerer
    46
tinkerer  
   2019-05-20 18:54:52 +08:00
starred.
BIAOXYZ
    47
BIAOXYZ  
   2019-05-20 22:46:47 +08:00
挺用心的,支持了~
zpoint
    48
zpoint  
OP
   2019-05-21 10:44:46 +08:00
@tinkerer thanks
@BIAOXYZ thanks♪(・ω・)ノ
chenxinqun
    49
chenxinqun  
   2019-05-22 10:07:16 +08:00
好文! 363star
itwhat
    50
itwhat  
   2019-05-27 13:57:46 +08:00
已 star,👍
foxyier
    51
foxyier  
   2019-05-29 16:17:41 +08:00
已 star,666
zpoint
    52
zpoint  
OP
   2019-06-04 10:09:06 +08:00
wsgws
    53
wsgws  
   2019-06-04 10:34:42 +08:00 via iPhone
好文,forked
berry10086
    54
berry10086  
   2019-06-04 10:35:59 +08:00
请问楼主图片是用什么软件画的
86091566
    55
86091566  
   2019-06-04 11:00:30 +08:00
同问楼主图片是用什么软件画的
zpoint
    56
zpoint  
OP
   2019-06-04 12:09:13 +08:00
@wsgws thanks
@berry10086 @86091566 ProcessOn (^o^)
86091566
    57
86091566  
   2019-06-04 13:28:50 +08:00
已 star,持续关注中
zpoint
    58
zpoint  
OP
   2019-06-04 15:48:53 +08:00
@86091566 ♪(・ω・)
Harz
    59
Harz  
   2019-06-13 11:03:46 +08:00
已 star 支持
forever139
    60
forever139  
   2019-06-13 14:12:44 +08:00
不错,支持。
hjq98765
    61
hjq98765  
   2019-06-13 14:37:34 +08:00
学习了!已 Star
jamesliu96
    62
jamesliu96  
   2019-06-13 14:52:25 +08:00 via Android
真好
zpoint
    63
zpoint  
OP
   2019-06-13 18:36:49 +08:00
@Harz @forever139 @hjq98765 @jamesliu96 Thanks♪(・ω・)ノ
ruyuejun
    64
ruyuejun  
   2019-06-21 16:48:52 +08:00
不错
crudboy
    65
crudboy  
   2019-06-21 17:38:18 +08:00
学习了
lCC1984
    66
lCC1984  
   2019-07-03 13:02:19 +08:00
刚刚接触 python 看不懂。。 还是先 shoucang 一下~ 改天学到一定程度了回来看嘻嘻
chaleaochexist
    67
chaleaochexist  
   2019-07-03 14:11:36 +08:00
牛逼,做了我一直想做而没能力做的.
boywhp
    68
boywhp  
   2019-07-11 16:35:46 +08:00
秒了 V2 一大波人了, 不得不说,看源码是提升自身水平的最快途径
telnetning
    69
telnetning  
   2019-07-16 19:39:57 +08:00
厉害!已 Star,向楼主学习,多谢楼主分享!
zpoint
    70
zpoint  
OP
   2019-07-16 21:53:33 +08:00
@ruyuejun @crudboy @lCC1984 谢谢 O(∩_∩)
zpoint
    71
zpoint  
OP
   2019-07-16 22:01:57 +08:00
@chaleaochexist 不同的人技能树不太一样, 花多点时间说不定你可以做的更好😂
@boywhp [Facepalm] 赞同看源码提升快🤝🤝
@telnetning 相互学习🤝
codepark
    72
codepark  
   2019-07-22 17:39:44 +08:00
战术性收藏~
Ingo
    73
Ingo  
   2019-07-23 09:07:07 +08:00 via iPhone
楼主加油💪
mattx
    74
mattx  
   2019-07-27 10:47:05 +08:00
star 等做完了, 楼主可以出本书
silencefly
    75
silencefly  
   2019-07-27 17:15:51 +08:00 via iPhone
已 star 支持
rieuse
    76
rieuse  
   2019-07-30 19:16:06 +08:00 via Android
赞~ 非常感谢
b00tyhunt3r
    77
b00tyhunt3r  
   2019-07-30 22:29:49 +08:00 via iPhone
支持,但是本菜鸡想问一下用 python 实现这些有啥实际意义吗?真心请教非杠!!
zpoint
    78
zpoint  
OP
   2019-07-30 23:02:32 +08:00
@codepark @Ingo @silencefly @rieuse 谢谢🤝🤝
zpoint
    79
zpoint  
OP
   2019-07-30 23:03:44 +08:00
@mattx 感谢支持, 菜鸡一枚, 没出书水平🤦‍♂️
zpoint
    80
zpoint  
OP
   2019-07-30 23:14:53 +08:00
@b00tyhunt3r 并没有用 python 实现这些结构, 如果你戳的是正文链接的话, 这些结构都是写解释器的人用 C 语言实现, 实现以后你能用解释器去运行 你根据 python 语法 /文档写出的 python 代码

理解这些东西能帮助你写出更高效的代码, 在有对应需求的时候可以自己定制扩展解释器的功能
b00tyhunt3r
    81
b00tyhunt3r  
   2019-07-31 02:06:13 +08:00 via iPad
@zpoint 👍受教了
iamdaguduizhang
    82
iamdaguduizhang  
   2019-08-01 09:42:18 +08:00
在实力面前,评论区突然变得统一。💪💪💪。
Hstar
    83
Hstar  
   2019-08-05 18:29:46 +08:00
楼主好,基本看完了。
有个小建议,你后期的部分写的比较详细,前面的内容就比较省略了。希望能有一个回头看的机制,再推敲一下以前的内容。
比如 list 对象的 free_list,我看的一头雾水啊。
zpoint
    84
zpoint  
OP
   2019-08-05 18:44:27 +08:00
@iamdaguduizhang 谢谢支持~
zpoint
    85
zpoint  
OP
   2019-08-05 18:44:37 +08:00
@Hstar 谢谢, 刚开始为了让内容看起来比较丰满一点有点赶进度了, 慢工出细活会回头补充一下, 可以关注 issue😬😬
aSmallNewbie
    86
aSmallNewbie  
   2019-08-06 09:52:06 +08:00
大佬。。。
dwadewyp
    87
dwadewyp  
   2019-08-21 15:05:20 +08:00
先 star 为敬
334862132
    88
334862132  
   2019-08-21 15:18:09 +08:00
已 star 膜拜大佬
Drahcir
    89
Drahcir  
   2019-08-21 15:50:31 +08:00
终于看到 Python 底层解析了
收藏 + star
ClutchBear
    90
ClutchBear  
   2019-08-23 18:06:37 +08:00
感谢已经 start
zpoint
    91
zpoint  
OP
   2019-08-29 23:44:50 +08:00
@aSmallNewbie 不是大佬🤦‍♂️谢谢支持
@dwadewyp 谢谢(・ω・)ノ
@334862132 谢谢支持 不是大佬哈🤦‍♂️
@Drahcir Thanks♪(・ω・)ノ
@ClutchBear 谢谢!
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3189 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 12:39 · PVG 20:39 · LAX 04:39 · JFK 07:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.