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 底层实现笔记

  •  9
     
  •   zpoint ·
    zpoint · 2019-04-30 16:50:01 +08:00 · 17417 次点击
    这是一个创建于 719 天前的主题,其中的信息可能已经有所发展或是发生改变。
    每个对象都大概配了文字描述和插图, 比如
    字典对象实现: 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   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   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   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   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   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   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
    支持
    gstqc
        29
    gstqc   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   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   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   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   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   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   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   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   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   2019-07-16 21:53:33 +08:00
    @ruyuejun @crudboy @lCC1984 谢谢 O(∩_∩)
    zpoint
        71
    zpoint   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   2019-07-30 23:02:32 +08:00
    @codepark @Ingo @silencefly @rieuse 谢谢🤝🤝
    zpoint
        79
    zpoint   2019-07-30 23:03:44 +08:00
    @mattx 感谢支持, 菜鸡一枚, 没出书水平🤦‍♂️
    zpoint
        80
    zpoint   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   2019-08-05 18:44:27 +08:00
    @iamdaguduizhang 谢谢支持~
    zpoint
        85
    zpoint   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   2019-08-29 23:44:50 +08:00
    @aSmallNewbie 不是大佬🤦‍♂️谢谢支持
    @dwadewyp 谢谢(・ω・)ノ
    @334862132 谢谢支持 不是大佬哈🤦‍♂️
    @Drahcir Thanks♪(・ω・)ノ
    @ClutchBear 谢谢!
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2023 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:43 · PVG 19:43 · LAX 04:43 · JFK 07:43
    ♥ Do have faith in what you're doing.