1. 程式人生 > >初學Python,關於object和type的理解

初學Python,關於object和type的理解

初學Python,關於object和type的理解

object(類)是一個類。

type(類)也是一個類。

object類是所有的類的父類的父類的父類… 即,其它所有的類都是object類的子類,(而並非它的例項(類變數))。

type類是個不一般的類,這是因為type類的例項,即type類的類變數,竟然是所有的類(也包括它自己)。

那麼總結起來就是:所有的類都是type類的例項,所有的類都是object類的子類。

瞬間揪心了:object類竟然是它的一個子類(type)的例項;同樣揪心的是:type類竟然是它的一個例項(object)的子類。

最後的問題是讓我產生這一系列問題的type函式。從筆者的角度看,讓type函式和type類重名絕對是一個巨大的惡趣味。

type函式用以返回它後面括號裡的那個東西所屬於的類,換句話說,括號的東西是哪個類的例項,就返回哪個類,(只返回一層,而不管類的父類)。值得特別指出的是,括號裡的那個東西也可以是一個類。

於是就有了:
type(1) 返回 int 類;
type(int) 返回 type 類;
type(type) 返回 type 類;
type(boject) 返回 type 類;
目前還不清楚tpye(什麼)可以返回 object 類。

寫在最後:
筆者初學 Python,在這個問題上糾結了好久,也不知道本文的理解對不對,懇請路過大神分享經驗,留言指正!Python 的版本是3.6。