Python源码[Object/stringobject.c]中UCHAR_MAX = 255. 所以Python解释器会缓冲256个字符串, 第257个字符串多次赋值不同的变量名, id()查看的结果就不同了: 可见intern机制可以缓存256个PyStringObject对象. 前三章看完了, ...
分类:
编程语言 时间:
2017-08-28 23:50:09
阅读次数:
344
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。 为了更好地利用Python语 ...
分类:
编程语言 时间:
2017-05-24 17:09:56
阅读次数:
208
最近看了看陈儒的《Python源码剖析》,写的很好,这里简单记录下python语言实现的几个点。 1、python对象实现原理 首先说下python中的对象的实现,python中基本所有东西都是对象,而这个对象都是基于PyObject。 可以看到,这个数据结构十分简单,一个引用计数一个类型指针。 这 ...
分类:
编程语言 时间:
2017-05-09 00:55:36
阅读次数:
187
四、LIST对象 1、PyListObject对象 2、PyListObject的创建与维护 3、PyListObject 对象缓冲池 4、Hack PyListObject 1、PyListObject对象 PyListObject 对象是变长对象,而且还是一个可变对象: [listobject. ...
分类:
编程语言 时间:
2017-03-07 18:54:52
阅读次数:
192
http://blog.csdn.net/balabalamerobert http://blog.csdn.net/efeics/article/category/1486515 图解python 《Python源码剖析》与Cobra开源项目 2008-07-28 15:52 来自 Hailie ...
分类:
编程语言 时间:
2016-05-20 23:54:13
阅读次数:
1057
有时会觉得缺乏理论知识指导,导致有些模块的实现无法做到稳定、高效、简洁。本文旨在整理遇到过得比较好的数据结构与算法的实现,旨在反省自身,同时如果对读者有帮助,那再好不过了。 参考书目:《STL源码剖析》、《python源码剖析》、Leetcode题目 本文从分以下几个方面: 1. STL的容器 2....
分类:
编程语言 时间:
2016-01-01 13:00:06
阅读次数:
143
Python源码剖析中针对进程的封装:static PyMethodDef thread_methods[] = { {"start_new_thread", (PyCFunction)thread_PyThread_start_new_thread, ...
分类:
编程语言 时间:
2015-10-07 17:28:30
阅读次数:
419
Python的函数机制是很重要的部分,很多时候用python写脚本,就是几个函数简单解决问题,不需要像java那样必须弄个class什么的。
本文简书地址:http://www.jianshu.com/p/d00108741a18
1 函数对象PyFunctionObjectPyFunctionObject对象的定义如下:typedef struct {
PyObject_HEAD...
分类:
编程语言 时间:
2015-08-31 01:10:23
阅读次数:
232
本文简书地址: http://www.jianshu.com/p/14586ec50ab6
python中经常用到模块,比如import xxx,from xxx import yyy这样子,里面的机制也是需要好好探究一下的,这次主要从黑盒角度来探测模块机制,源码分析点到为止,详尽的源码分析见陈儒大神的《python源码剖析》第14章。
1 如何导入模块首先来看一个导入模块的例子。创建一个文件夹...
分类:
编程语言 时间:
2015-08-09 00:32:05
阅读次数:
180
Python源码剖析笔记4-内建数据类型
Python内建数据类型包括整数对象PyIntObject,字符串对象PyStringObject,列表对象PyListObject以及字典对象PyDictObject等。整数对象之前已经分析过了,这一篇文章准备分析下余下几个对象,这次在《python源码剖析》中已经写的很详细的部分就不赘述了,主要是总结一些之前看书时疑惑的地方。
1 整数对象-PyIn...
分类:
编程语言 时间:
2015-07-16 00:51:20
阅读次数:
198