python學習---第三天

在下這廂有禮了

Python中的整數對象

intobject.c

static int int_compare(PyIntObject  *v,PyIntObject *w)

{

register long i=v->ob_ival;

register long j=w->ob_ival;


return (i<j)? -1:(i>j) ? 1:0;

}

PyIntObject對象的創建和維護


小整數對象池的初始化

intobject.c

int _PyInt_Init(void)

{

PyIntObject* v;

int ival;


#if NSMALLNEGINTS + NSMALLPOSINTS>0

for (ival = -NSMALLNEGINTS; ival < NSMALLPOSINTS; ival++)

{

if(!free_list && (free_list = fill_free_list())==NULL)

return 0;

//內聯(inline PyObject_new的行爲)

v = free_list;

free_list = (PyIntObject *)v->ob_type;

PyObject_INIT(v,&PyInt_Type);

v->ob_ival = ival;

small_ints[ival + NSMALLPOSINTS] =v;

}

#endif

return 1;

}

第三天過去了

發佈了42 篇原創文章 · 獲贊 24 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章