Home
About
Blog
Products
Forum
Support
Contact
Sunbelt Computer Software
PL/B Language Development and Support
Home
About
Blog
Products
Forum
Support
Contact
cpython-internal/src at main · satori1995/cpython-internal · GitHub
Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
satori1995
/
cpython-internal
Public
Notifications
You must be signed in to change notification settings
Fork
28
Star
102
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Files
Expand file tree
main
Breadcrumbs
cpython-internal
/
src
/
Copy path
Directory actions
More options
More options
Directory actions
More options
More options
Latest commit
History
History
History
main
Breadcrumbs
cpython-internal
/
src
/
Copy path
Top
Folders and files
Name
Name
Last commit message
Last commit date
parent directory
..
images
images
0.序言.md
0.序言.md
1.CPython源码长什么样子?.md
1.CPython源码长什么样子?.md
10.Python对象的行为是怎么区分的?.md
10.Python对象的行为是怎么区分的?.md
100.Python的垃圾回收机制是怎么实现的?.md
100.Python的垃圾回收机制是怎么实现的?.md
101.深入源码,探究垃圾回收的秘密.md
101.深入源码,探究垃圾回收的秘密.md
102.侵入Python虚拟机,动态修改底层数据结构和运行时.md
102.侵入Python虚拟机,动态修改底层数据结构和运行时.md
103.使用Python的ctypes调用C的动态库.md
103.使用Python的ctypes调用C的动态库.md
104.使用Python的ctypes调用Rust的动态库.md
104.使用Python的ctypes调用Rust的动态库.md
105.用C写Python.md
105.用C写Python.md
106.Cython从入门到精通.md
106.Cython从入门到精通.md
11.一个Python对象会在何时被销毁?.md
11.一个Python对象会在何时被销毁?.md
12.深度解密Python的浮点数是怎么实现的?.md
12.深度解密Python的浮点数是怎么实现的?.md
13.对象被销毁之后所占的内存一定会释放吗?解密浮点数的缓存池机制.md
13.对象被销毁之后所占的内存一定会释放吗?解密浮点数的缓存池机制.md
14.浮点数支持的操作是怎么实现的?.md
14.浮点数支持的操作是怎么实现的?.md
15.解密Python的复数是怎么实现的?它有什么用途呢?.md
15.解密Python的复数是怎么实现的?它有什么用途呢?.md
16.Python的整数是怎么设计的,为什么它不会溢出?.md
16.Python的整数是怎么设计的,为什么它不会溢出?.md
17.解密Python的小整数对象池.md
17.解密Python的小整数对象池.md
18.两个Python整数之间是如何进行大小比较的?过程并不像我们想的那样简单.md
18.两个Python整数之间是如何进行大小比较的?过程并不像我们想的那样简单.md
19.探究Python整数的加减法,感受大整数的运算哲学与魅力.md
19.探究Python整数的加减法,感受大整数的运算哲学与魅力.md
2.变量和对象,它们之间有什么区别和联系呢?.md
2.变量和对象,它们之间有什么区别和联系呢?.md
20.Python的布尔值是怎么实现的,你对它的了解有多深呢?.md
20.Python的布尔值是怎么实现的,你对它的了解有多深呢?.md
21.Python的None是怎么实现的?.md
21.Python的None是怎么实现的?.md
22.深度解密Python切片的实现原理.md
22.深度解密Python切片的实现原理.md
23.bytes对象(字节串)是怎么实现的?解密它的内部原理.md
23.bytes对象(字节串)是怎么实现的?解密它的内部原理.md
24.bytes对象都支持哪些操作,它们是怎么实现的?.md
24.bytes对象都支持哪些操作,它们是怎么实现的?.md
25.通过bytes对象的合并,探究缓冲区的奥秘.md
25.通过bytes对象的合并,探究缓冲区的奥秘.md
26.解密bytes对象的缓存池.md
26.解密bytes对象的缓存池.md
27.详解bytearray对象的底层实现.md
27.详解bytearray对象的底层实现.md
28.字符集和字符编码.md
28.字符集和字符编码.md
29.Python是怎么存储字符串的?.md
29.Python是怎么存储字符串的?.md
3.Python对象有哪几种,我们可以从哪些角度进行分类呢?.md
3.Python对象有哪几种,我们可以从哪些角度进行分类呢?.md
30.解密字符串的底层结构,它是怎么实现的?.md
30.解密字符串的底层结构,它是怎么实现的?.md
31.字符串的intern机制是怎么一回事?.md
31.字符串的intern机制是怎么一回事?.md
32.聊一聊字符串常见操作的源码实现.md
32.聊一聊字符串常见操作的源码实现.md
33.列表是怎么实现的?解密列表的数据结构.md
33.列表是怎么实现的?解密列表的数据结构.md
34.列表是怎么扩容的?.md
34.列表是怎么扩容的?.md
35.解密列表的创建与销毁,以及缓存池长什么样子?.md
35.解密列表的创建与销毁,以及缓存池长什么样子?.md
36.列表作为序列型对象都支持哪些操作,它们在底层是怎么实现的?.md
36.列表作为序列型对象都支持哪些操作,它们在底层是怎么实现的?.md
37.列表都有哪些自定义方法,它们是怎么实现的?.md
37.列表都有哪些自定义方法,它们是怎么实现的?.md
38.解密元组的实现原理.md
38.解密元组的实现原理.md
39.聊一聊喜闻乐见的哈希表.md
39.聊一聊喜闻乐见的哈希表.md
4.万丈高楼平地起,一切从PyObject开始.md
4.万丈高楼平地起,一切从PyObject开始.md
40.字典是怎么实现的,它的底层结构长什么样子?.md
40.字典是怎么实现的,它的底层结构长什么样子?.md
41.什么是可哈希对象,它的哈希值是怎么计算的?.md
41.什么是可哈希对象,它的哈希值是怎么计算的?.md
42.字典的key是怎么映射成索引的,索引冲突了又该怎么办?.md
42.字典的key是怎么映射成索引的,索引冲突了又该怎么办?.md
43.哈希表是怎么删除元素的,能直接删除吗?.md
43.哈希表是怎么删除元素的,能直接删除吗?.md
44.字典是怎么创建的,支持的操作又是如何实现的?.md
44.字典是怎么创建的,支持的操作又是如何实现的?.md
45.字典的自定义方法是怎么实现的?.md
45.字典的自定义方法是怎么实现的?.md
46.字典是怎么扩容的?它会经历哪些过程?.md
46.字典是怎么扩容的?它会经历哪些过程?.md
47.身虽死,道未消,解密字典的缓存池.md
47.身虽死,道未消,解密字典的缓存池.md
48.解密集合的实现原理.md
48.解密集合的实现原理.md
49.集合支持的操作有哪些,它们是怎么实现的?.md
49.集合支持的操作有哪些,它们是怎么实现的?.md
5.详解PyTypeObject,Python类型对象的载体.md
5.详解PyTypeObject,Python类型对象的载体.md
50.迭代器是怎么实现的?.md
50.迭代器是怎么实现的?.md
51.Python源文件编译之后会得到什么,它的结构是怎样的?和字节码又有什么联系?.md
51.Python源文件编译之后会得到什么,它的结构是怎样的?和字节码又有什么联系?.md
52.PyCodeObject拾遗.md
52.PyCodeObject拾遗.md
53.一文让你搞懂pyc文件.md
53.一文让你搞懂pyc文件.md
54.深度解密虚拟机的执行环境:栈帧对象.md
54.深度解密虚拟机的执行环境:栈帧对象.md
55.名字空间:变量的容身之所.md
55.名字空间:变量的容身之所.md
56.当查找一个变量时,虚拟机会进行哪些动作?.md
56.当查找一个变量时,虚拟机会进行哪些动作?.md
57.虚拟机是怎么执行字节码的?背后都经历了哪些过程.md
57.虚拟机是怎么执行字节码的?背后都经历了哪些过程.md
58.深入源码,进一步考察字节码的执行流程.md
58.深入源码,进一步考察字节码的执行流程.md
59.局部变量是怎么实现静态查找的,它和local名字空间又有什么联系呢?.md
59.局部变量是怎么实现静态查找的,它和local名字空间又有什么联系呢?.md
6.通过type和object之间的关联,进一步分析类型对象.md
6.通过type和object之间的关联,进一步分析类型对象.md
60.剖析字节码指令,以及Python赋值语句的原理.md
60.剖析字节码指令,以及Python赋值语句的原理.md
61.流程控制语句if是怎么实现的?.md
61.流程控制语句if是怎么实现的?.md
62.流程控制语句for、while是怎么实现的?.md
62.流程控制语句for、while是怎么实现的?.md
63.异常是怎么实现的?虚拟机是如何将异常抛出去的?.md
63.异常是怎么实现的?虚拟机是如何将异常抛出去的?.md
64.虚拟机是如何捕获异常的?.md
64.虚拟机是如何捕获异常的?.md
65.函数在底层长什么样子?.md
65.函数在底层长什么样子?.md
66.函数是怎么创建的,背后经历了哪些过程?.md
66.函数是怎么创建的,背后经历了哪些过程?.md
67.函数在底层是如何调用的?.md
67.函数在底层是如何调用的?.md
68.函数是如何解析位置参数的?.md
68.函数是如何解析位置参数的?.md
69.函数是如何解析关键字参数的?.md
69.函数是如何解析关键字参数的?.md
7.当创建一个Python对象时,背后都经历了哪些过程?.md
7.当创建一个Python对象时,背后都经历了哪些过程?.md
70.扩展位置参数和扩展关键字参数是如何解析的?.md
70.扩展位置参数和扩展关键字参数是如何解析的?.md
71.闭包是怎么实现的?.md
71.闭包是怎么实现的?.md
72.生成器是做什么的,为什么会有生成器?.md
72.生成器是做什么的,为什么会有生成器?.md
73.源码解密生成器的实现原理.md
73.源码解密生成器的实现原理.md
74.回顾Python的对象模型.md
74.回顾Python的对象模型.md
75.class概念解析.md
75.class概念解析.md
76.类型对象的初始化.md
76.类型对象的初始化.md
77.自定义类对象的底层实现与metaclass.md
77.自定义类对象的底层实现与metaclass.md
78.彻底搞懂描述符.md
78.彻底搞懂描述符.md
79.实例对象是如何创建的?.md
79.实例对象是如何创建的?.md
8.当调用一个Python对象时,背后都经历了哪些过程?.md
8.当调用一个Python对象时,背后都经历了哪些过程?.md
80.实例对象的属性访问.md
80.实例对象的属性访问.md
81.为什么实例在调用方法时会将自身传给self参数.md
81.为什么实例在调用方法时会将自身传给self参数.md
82.模块是如何导入的?.md
82.模块是如何导入的?.md
83.import机制的黑盒探测.md
83.import机制的黑盒探测.md
84.import机制是怎么实现的?.md
84.import机制是怎么实现的?.md
85.Python运行时环境的初始化,解释器在启动时都做了什么?.md
85.Python运行时环境的初始化,解释器在启动时都做了什么?.md
86.激活Python虚拟机.md
86.激活Python虚拟机.md
87.初识GIL、以及多个线程之间的调度机制.md
87.初识GIL、以及多个线程之间的调度机制.md
88.线程的创建、销毁、调度,以及GIL的实现原理.md
88.线程的创建、销毁、调度,以及GIL的实现原理.md
89.解密map、filter、zip底层实现,对比列表解析式.md
89.解密map、filter、zip底层实现,对比列表解析式.md
9.再探泛型API,感受Python对象的设计哲学.md
9.再探泛型API,感受Python对象的设计哲学.md
90.为什么要有协程,协程是如何实现的?.md
90.为什么要有协程,协程是如何实现的?.md
91.什么是asyncio?如何基于单线程实现并发?事件循环又是怎么工作的?.md
91.什么是asyncio?如何基于单线程实现并发?事件循环又是怎么工作的?.md
View all files
You can’t perform that action at this time.