
Python源码分析
主要是对python的源码进行查看分析
tjial
这个作者很懒,什么都没留下…
展开
-
Python的Dict对象
Dict对象 看这一部分源码的时候可以参考java的hashmap的源码进行对比,有很多类似的地方 struct _dictkeysobject { Py_ssize_t dk_refcnt; Py_ssize_t dk_size; // hash table允许容纳元素的个数 必定是2的指数 dict_lookup_func dk_lookup; Py_ssiz...原创 2020-02-12 23:06:47 · 941 阅读 · 1 评论 -
python的List对象
**PyListObject对象** ```c typedef struct { PyObject_VAR_HEAD PyObject **ob_itemc; Py_ssize_t allocated; } PyListObject; ``` ob_itemc是指向元素列表的一个指针,在PyListObject对象中,有一个allocated字段,那么这个字段与PyObject_VAR_HEAD中的ob_size字段有什么关系呢?实际上,allocated指的是当前对象可容纳的元素的原创 2020-02-12 16:48:44 · 2300 阅读 · 0 评论 -
python的字符串对象
python3中采用的是unicode编码方式 typedef struct { PyObject_HEAD Py_ssize_t length; /* Number of code points in the string */ Py_hash_t hash; /* Hash value; -1 if not set */ ...原创 2020-02-11 21:42:50 · 762 阅读 · 0 评论 -
python的整数对象
在看整数对象之前,要先看一下python最基本的一个数据结构,即PyObject,它是python对象机制的核心 [Include/object.h] typedef struct _object { _PyObject_HEAD_EXTRA Py_ssize_t ob_refcnt; struct _typeobject *ob_type; } PyObject; 可以...原创 2020-02-10 21:48:49 · 832 阅读 · 1 评论