对于那些有兴趣了解更多关于CPython内部原理的人,这是一个快速指南。它提供了一个摘要的源代码结构,并包含对资源的引用。
对于Python模块,典型的布局是:
• Lib/<module>.py
• Modules/_<module>.c (if there’s also a C accelerator module)
• Lib/test/test_<module>.py
• Doc/library/<module>.rst

对于只支持扩展的模块,典型的布局是:

• Modules/<module>module.c
• Lib/test/test_<module>.py
• Doc/library/<module>.rst

对于内置类型,典型的布局是:

• Objects/<builtin>object.c
• Lib/test/test_<builtin>.py
• Doc/library/stdtypes.rst

对于内建函数,典型的布局是:

• Python/bltinmodule.c
• Lib/test/test_builtin.py
• Doc/library/functions.rst

一些例外:

内置类型int 在Objects/longobject.c
内置类型 str 在 Objects/unicodeobject.c
内置module sys 在  Python/sysmodule.c
内置 module marshal 在 at Python/marshal.cwindows用module winreg在 PC/winreg.c

python源码精要(9)-CPython内部原理快速指南(1)相关推荐

  1. python源码精要(8)-CPython源代码结构

    在CPython源树中有几个顶级目录.知道每一个人应该持有什么会有所帮助: Doc:编写官方文档.这就是https://docs.python.org/所使用的.请参见构建文档. Grammar:语法 ...

  2. python源码精要(6)-CPython编译标志

    CPython提供了几个编译标志,它们有助于调试各种东西.而所有已知的标志可以在Misc/SpecialBuilds.txt文件中找到 1.最关键的一个是Py_DEBUG标志,它创建所谓的" ...

  3. python源码精要(7)-CPython编译

    1.安装与设置git编译 2.从GitHub得到CPython源代码分支 git clone https://github.com/<your_username>/cpython cd c ...

  4. python源码精要(10)-python源代码阅读概要(1)

    位于Doc/reference目录中的是Python语言中每个特性的重构文本解释.这在docs.python.org上形成了官方的Python参考指南.目录内的文件,你需要了解整个语言,结构,和关键字 ...

  5. python源码精要(5)-C代码规范

    对公共函数使用Py前缀;决不用于静态函数. Py_前缀是为全局服务例程保留的,比如Py_FatalError; 特定的例程组(例如特定的对象类型api)使用较长的前缀,例如对字符串函数使用PyStri ...

  6. python源码精要(4)-C代码规范

    C代码规范 当在二目操作符(比如:&&,||,&,|)在中断长表达式时,该操作符位于前一行的末尾,括号的格式应如图所示.例如: if (type->tp_dictoffs ...

  7. python源码精要(3)-C代码规范

    C代码规范 return语句不应该有多余的括号: return albatross; /* 正确 */ return(albatross); /* 不正确 */ 函数和宏调用样式: foo(a, b, ...

  8. python源码精要(2)-C代码规范

    C代码布局 使用4空格缩进,完全不使用制表符. 每行不应该超过79个字符.如果这个规则和前面的规则一起没有给您足够的空间来编写代码,那么您的代码就太复杂了--考虑使用子例程. 任何行都不应该以空格结束 ...

  9. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

最新文章

  1. Python Tornado
  2. AI框架你只会调包,这种想法很危险!
  3. 2020盲盒经济洞察报告
  4. linux系统视屏录像_在Linux上的点击,弹出和故障排除录像
  5. Docsify 侧边栏 : 自动生成sidebar与子目录sidebar
  6. JavaScript倒计时制作
  7. 自制Tableau数据看板示例
  8. Android 六大布局
  9. # pyton基础 1
  10. 腾讯云OCR文字识别的使用
  11. 计算机科学未来十年就业问题,未来10年“最有前途”的3个专业,就业率90%以上,多数人不看好...
  12. Spring boot + netty开发即时通讯 IM
  13. c语言编程水果忍者,少儿创意编程scratch初级游戏之一水果忍者
  14. 实施 ORM 的两项要旨:泛型和反射
  15. xmmi - 晨星半导体公司MSTAR平台
  16. 原生JS实现轮播图 方法总结
  17. sio_socket, websocket的使用与封装
  18. 淘宝淘金币助手,自动完成淘金币任务,蚂蚁庄园和蚂蚁森林,天猫领红包和收取能量
  19. CANoe C-V2X Demo(V2I+V2V)演示视频
  20. 马化腾“互联网+中国”峰会演讲

热门文章

  1. k-Means算法(Machine Learning in Action)基于python3.6
  2. 2015年8月7日15:18:54工作
  3. sql-having
  4. 重写JFrame的扩大 缩小 关闭按钮 以及菜单等
  5. @Scheduled(cron = 0/5 * * * * *)将时间改为配置
  6. Excel2010中VLOOKUP函数跨工作簿使用实例:
  7. ThinkPHP之MVC简析
  8. js String方法集合
  9. 在MyEclipse中添加 XML Catalog (xwork-validator dtd )
  10. flume与Mosquitto的集成