Python分析
有关Python执行过程的分析,源码执行的探索。
小屋子大侠
这个作者很懒,什么都没留下…
展开
-
python3.7源码分析-集合(set)
python集合set是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set 支持 x in set, len(set),和 for x in set。作为一个无序的集合,set不记录元素位置或者插入点。因此,sets不支持 indexing, 或其它类序列的操作。python集合概述在set中,对应的set的值的存储是通过...原创 2019-06-04 19:38:03 · 2364 阅读 · 2 评论 -
python3.7源码分析-字典
python字典Dictionary object implementation using a hash table ,通过描述可知,python的字典就是实现了一个hash表。Python字典概述在python的字典中,一个键值对的对应保存就是PyDictEntry类型来保存;typedef struct { /* Cached hash code of me_key. */...原创 2019-05-22 16:43:36 · 2102 阅读 · 3 评论 -
Python3.5源码分析-内存管理
Python3源码分析本文环境python3.5.2。参考书籍<<Python源码剖析>>python官网Python3的内存管理概述python提供了对内存的垃圾收集机制,内存管理相关的函数基本位于Objects/obmalloc.c和Modules/gcmodule.c模块中,其中obmalloc.c中主要是管理Python在运行的时候所申请的内存...原创 2018-08-12 18:50:48 · 1259 阅读 · 0 评论 -
Python3.5源码分析-垃圾回收机制
Python3源码分析本文环境python3.5.2。参考书籍&lt;&lt;Python源码剖析&gt;&gt;python官网Python3的垃圾回收概述随着软硬件的发展,大多数语言都已经支持了垃圾回收机制,让使用者从内存管理的工作中解放出来。Python的垃圾回收机制,采用了引用计数来管理的,应用计数也算是一种垃圾回收机制,也是一种直观简单的垃圾回收计数,引用计数方法的...原创 2018-08-13 18:42:40 · 757 阅读 · 0 评论 -
Python3.5源码分析-List概述
Python3源码分析本文环境python3.5.2。参考书籍<<Python源码剖析>>python官网Python3的List对象list对象是一个变长对象,在运行时动态调整其所维护的内存和元素,并且支持插入删除等操作,list的定义如下;#define PyObject_VAR_HEAD PyVarObject ob_base;#...原创 2018-08-18 11:28:09 · 1699 阅读 · 0 评论 -
Python3.5源码分析-Dict概述
Python3源码分析本文环境python3.5.2。参考书籍<<Python源码剖析>>python官网Python3的Dict对象在生成d = {}和d[‘1’] = ‘1’,执行的字节码如下; 23 94 BUILD_MAP 0 97 STORE_NAME ...原创 2018-08-19 09:50:35 · 862 阅读 · 0 评论 -
python3.5源码分析-启动与虚拟机
Python3源码分析本文环境python3.5.2。参考书籍<<Python源码剖析>>python官网Python3启动流程概述本文基于python3分析其基本的运行过程。作为一门动态语言,python脚本在运行的过程中,实现了编译文件并执行编译文件的过程,这一过程都是基于c语言实现,首先开始介绍一下python3的基本信息。Python3...原创 2018-08-05 16:39:24 · 6490 阅读 · 3 评论 -
python3.5全局解释器锁GIL-实现原理浅析
python3全局解释器锁浅谈本文环境python3.5.2。python全局解释器锁In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lo...原创 2018-07-28 10:14:35 · 1481 阅读 · 0 评论 -
Python3.5源码分析-内建模块builtins初始化
Python3源码分析本文环境python3.5.2。参考书籍&lt;&lt;Python源码剖析&gt;&gt;python官网Python3模块初始化与加载Python的模块分为内建的模块,函数与用户定义的模块,首先分析Python内建模块。Python3的系统内建模块初始化上文介绍了Python的线程对象和解释器对象,在初始化的时候,会执行_Py_Initi...原创 2018-08-08 08:57:26 · 2663 阅读 · 0 评论 -
Python3.5源码分析-sys模块及site模块导入
Python3源码分析本文环境python3.5.2。参考书籍<<Python源码剖析>>python官网Python3的sys模块初始化根据分析完成builtins初始化后,继续分析sys模块的初始化,继续分析_Py_InitializeEx_Private函数的执行,void_Py_InitializeEx_Private(int insta...原创 2018-08-08 11:02:45 · 1412 阅读 · 0 评论