1 / 10
文档名称:

python源码剖析-read.doc

格式:doc   大小:49KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

python源码剖析-read.doc

上传人:wxc6688 2019/9/8 文件大小:49 KB

下载得到文件列表

python源码剖析-read.doc

相关文档

文档介绍

文档介绍:python源码剖析-readPython源码剖析——字符串对象PyStringObject(2)本文作者:RobertChen(@),我们都注意到,当字符数组的长度为0或1时,需要进行了一个特别的动作:PyString_InternInPlace。这就是前面所提到的Intern机制。PyStringObject对象的Intern机制其目的是对于被Intern之后的字符串,在整个Python运行时,系统中都只有唯一的与该字符串对应的PyStringObject对象。这样当判断两个PyStringObject对象是否相同时,如果它们都被Intern了,那么只需要简单地检查它们对应的PyObject*是否相同即可。这个机制既节省了空间,又简化了对PyStringObject对象的比较,嗯,可谓是一箭双雕哇:)假如在某个时刻,我们创建了一个PyStringObject对象A,其表示的字符串是“Python”,在之后的某一时刻,加入我们想为“Python”再次建立一个PyStringObject对象,通常情况下,Python会为我们重新申请内存,创建一个新的PyStringObject对象B,A与B是完全不同的两个对象,尽管其内部维护的字符数组是完全相同的。这就带来了一个问题,加入我们在程序中创建了100个“Python”的PyStringObject对象呢,显而易见,这样会大量地浪费珍贵的内存。因此Python对PyStringObject对象引入了Intern机制。在上面的例子中,如果对于A应用了Intern机制,那么之后要创建B的时候,Python会首先在系统中记录的已经被Intern的PyStringObject对象中查找,如果发现该字符数组对应的PyStringObject对象已经存在了,那么就将该对象的引用返回,而不会创建对象B。PyString_InternInPlace正是完成对一个对象的Intern操作:[]voidPyString_InternInPlace(PyObject**p){registerPyStringObject*s=(PyStringObject*)(*p);PyObject*t;if(s==NULL||!PyString_Check(s))Py_FatalError("PyString_InternInPlace:stringsonlyplease!");/*Ifit'sastringsubclass,wedon'treallyknowwhatputtingitintheinterneddictmightdo.*/if(!PyString_CheckExact(s))return;if(PyString_CHECK_INTERNED(s))return;if(interned==NULL){interned=PyDict_New();if(interned==NULL){PyErr_Clear();/*Don'tleaveanexception*/return;}}t=PyDict_GetItem(intern

最近更新

2024年兵团直属校园招聘考试笔试试题及参考答.. 252页

2024上半年工作总结和下半年计划2 16页

2024年兵团直属校园招聘考试笔试试题附完整答.. 248页

2024年难忘的第一次军训作文(精选15篇) 21页

2024年吉林工信厅直属事业单位公开招聘历年高.. 163页

2024年吉林延边州直部分事业单位招聘急需人才.. 166页

2024年吉林延边州直部分事业单位招聘急需人才.. 169页

2024年吉林松原前郭县事业单位(含专项)招聘42.. 163页

2024年吉林松原前郭县事业单位(含专项)招聘42.. 163页

2024年吉林省人力资源和社会保障厅及直属参公.. 166页

2024年吉林省四平市城乡规划设计研究院招聘6人.. 161页

2024年吉林省四平市城乡规划设计研究院招聘6人.. 166页

2024年吉林省延边事业单位招聘历年高频难、易.. 165页

2024年吉林省延边事业单位招聘历年高频难、易.. 163页

2024年校园招聘考试笔试试题500道及参考答案(.. 247页

2024年校园招聘考试笔试试题500道精品【实用】.. 244页

2024年难受的伤感句子 37页

2024年高校教师岗前培训《高等教育学》题目10.. 24页

2024年高校教师岗前培训《高等教育学》题目10.. 23页

2024年隔离转运工作方案(通用10篇) 20页

七年级诗词大会题库精品【a卷】 8页

七年级诗词大会题库精编答案 8页

2024年隆胸手术请三思而后行 5页

公务员考试《判断推理题》题库精品(典型题).. 172页

2024年陪伴一生的情话相守一生的句子 7页

河南省高校教师岗前培训《高等教育学》题目10.. 24页

2024年除夕群里祝福语 39页

信用证结算协议书 12页

抗负过载双室供油装置与方法 5页

小学数学一年级下册《找规律》说课稿 8页