![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python源码学习
dbzhang800
简单单单,平平淡淡,喜欢计算机,喜欢钻牛角尖,喜欢刨根问底,... 喜欢开源的东西,其次是免费的东西...
展开
-
[Python源码学习]之对象创建与销毁
接前面Python源码笔记之内存管理,尝试看看Python的对象的创建与销毁。 Python的对象类型还挺多,在Python源码笔记之数据类型中试图列一个表出来,最终未果。不敢贪多,看4个内建对象。 创建对象,也就是创建下面几个结构体的实例了:原创 2011-09-04 18:35:49 · 12516 阅读 · 3 评论 -
[Python源码学习]之模块路径
接前面Python源码笔记之Py_InitializeEx,尝试看看Python中用到的一些Path (这部分东西太乱了...具体见PC/getpathp.c 和 Modules/getpath.c 中的注释)。一个Python程序要有运行,必须要能找到 .py/.pyc原创 2011-09-18 17:34:58 · 8821 阅读 · 0 评论 -
[Python源码学习]之Very High Level Layer
Python手册 Very High Level Layer 一节给出高层的 API 接口函数。Py_Main(...)这个?最顶层的接口了PyRun_***(...)运行位于字符串或文件原创 2011-08-15 23:22:09 · 5907 阅读 · 2 评论 -
[Python源码学习]之Py_InitializeEx
Py_InitializeEx 进行python的初始化工作。多数东西都不懂,简单记录一下,备忘。进程状态首先创建:进程状态PyInterpreterState对象 interp线程状态PyThreadState对象 tstate原创 2011-09-12 22:46:57 · 9029 阅读 · 3 评论 -
[Python源码学习]之内存管理
Python 的内存管理架构(Objects/obmalloc.c): _____ ______ ______ ________ [ int ] [ dict ] [ list ] ... [ string ] Python cor原创 2011-08-13 23:55:09 · 4857 阅读 · 0 评论 -
[Python源码学习] 之 Python解释器
源码结构下载Python的源码,解压,即可看到源码的目录结构。奇怪:Python2.7.2根目录下的 README 文件中有 各个目录的说明,在 Python3.2.1根目录下的README文件中却没有相应的介绍了。Include/原创 2011-08-13 01:08:07 · 11512 阅读 · 2 评论 -
[Python源码学习]之整数类型PyIntObject
在Python2中,有 PyIntObject 和 PyLongObject 两种整数类型,在Python3中,前者并入后者。本文是Python2 相关的内容。PyIntObject整数对象定义在头文件 Include/intobject.h 中,它表示一个(长)原创 2011-08-13 13:59:49 · 2962 阅读 · 0 评论 -
[Python源码学习]之数据类型
标准类型层次根据Manual中The standard type hierarchy 一节的类型信息,我们首先尝试列出一个表:类型对象类 PyNone_Type原创 2011-08-13 13:13:35 · 2800 阅读 · 0 评论 -
[Python源码学习]之PyObject和PyTypeObject
Python C api中的绝大多数函数其参数和返回值中包含 PyObject*。这指针类型指向一个可以表示任何Python对象的不透明的数据结构。所有的Python对象在多数情况下以相同的方式对待。所有的Python对象(甚至是Python的整数)都包含一个类型和引用计数。原创 2011-08-13 12:26:40 · 11485 阅读 · 0 评论 -
[Python源码学习]之bytecode
源码:xxx.py文件或 字符串==>字节码:可缓存在xxx.pyc==>结果pythonX.dlllibpythonX.X.apythonX.dlll原创 2011-09-10 18:25:42 · 4713 阅读 · 0 评论 -
Py_SetPath导致的BUG一例(issue11320)
为了找出这个问题,用了整天一天的时间来看Python的源码,不过还好,至少还熟悉了一下Python中这些杂乱的路径,并找到了原因。issue11320 涉及的到就是Py_SetPath 这个函数!Manual中是这么介绍这个函数的:void Py_SetPath(co原创 2011-09-18 23:31:46 · 9361 阅读 · 0 评论