類型

PyObject中的類型對(duì)象:

struct _typeobject 
{
    PyObject_VAR_HEAD
    char *tp_name;
    int tp_basicsize, tp_itemsize;
    // 底下就是一大堆函數(shù)指針
    ...
} PyTypeObject

其中主要包含四類內(nèi)容:

類型名稱 內(nèi)部使用或用于調(diào)試
分配空間大小tp_basicsize tp_itemsize
操作 函數(shù)指針
類型的類型

確定了一個(gè)對(duì)象的類型對(duì)象,則可知道它所包含的操作

類型對(duì)象的類型呢?因?yàn)镻yTypeObject也是個(gè)對(duì)象,它的頭部的類型對(duì)象指針則指向一個(gè)特殊的PyTypeObject對(duì)象 PyType_Type

PyTypeObject PyType_Type = 
{
    PyObject_HEAD_INIT(&PyType_Type)
    0,
    "type",
    sizeof(PyHeapTypeObject),
    sizeof(PyMemberDef),
    ...
}

綜上,舉例:

a = 2
a則為一個(gè)int實(shí)例對(duì)象,它的類型是int類型對(duì)象
而對(duì)于每個(gè)類型對(duì)象,包括用戶自定義的類型的類型都是type類型對(duì)象,在python中還可稱之為metaclass

在c語(yǔ)言中的說(shuō)法

一個(gè)int對(duì)象,它的類型是PyInt_Type,而對(duì)于它的類型PyInt_Type來(lái)說(shuō),PyInt_Type的類型是PyType_Type,PyType_Type的類型則是指向自身PyType_Type
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.元類 1.1.1類也是對(duì)象 在大多數(shù)編程語(yǔ)言中,類就是一組用來(lái)描述如何生成一個(gè)對(duì)象的代碼段。在Python中這...
    TENG書(shū)閱讀 1,419評(píng)論 0 3
  • 2014年的蘋(píng)果全球開(kāi)發(fā)者大會(huì)(WWDC),當(dāng)Craig Federighi向全世界宣布“We have new ...
    yeshenlong520閱讀 2,400評(píng)論 0 9
  • 文/小新菜菜 01. 大學(xué)校友小D,這么稱呼她是因?yàn)槿思疑蠂寥苏娴挠蠨,秒殺我們一眾土地貧瘠的太平公主。 真是有...
    菜小新閱讀 704評(píng)論 0 1
  • 愛(ài)情是一杯毒酒,許多人,含著笑,義無(wú)反顧地飲下去。不是因?yàn)樯?,而是身不由己?世界這么大,過(guò)客這么多,好不容易才遇...
    柚子枇閱讀 1,124評(píng)論 9 11

友情鏈接更多精彩內(nèi)容