1. python中一切皆對(duì)象:
其中函數(shù)和類也是對(duì)象,具體體現(xiàn)為:
- 可以賦值給一個(gè)變量
- 可以添加到集合對(duì)象中,如可以添加到列表中
- 可以作為參數(shù)傳入函數(shù)
- 可以作為函數(shù)的返回值
2. type class boject
a = 1
type(1) #結(jié)果為class int
type(int) #結(jié)果為class type
type 有兩個(gè)作用:一是返回對(duì)象的類型;二是實(shí)例化一個(gè)類對(duì)象。
上例中:type作為一個(gè)類,通過(guò)實(shí)例化產(chǎn)生一個(gè)新的類int或者說(shuō)實(shí)例化產(chǎn)生一個(gè)class類型的對(duì)象int,int作為一個(gè)類,通過(guò)實(shí)例化產(chǎn)生一個(gè)對(duì)象1, 1這個(gè)對(duì)象賦值給變量a。因此平常所使用的類是由type這個(gè)類生成的一個(gè)對(duì)象。
object是所有類中最頂層(最基礎(chǔ)的類)

image.png
- 從上圖中可以看出type的父類是object,即object是一個(gè)類,且是type的父類。
- object的父類為空,說(shuō)明object是所有類中最基礎(chǔ)的類。
- object作為一個(gè)對(duì)象,是由type這個(gè)類實(shí)例化產(chǎn)生的
總結(jié)如下:

image.png
以list為例。第一,list是type實(shí)例化產(chǎn)生的一個(gè)對(duì)象(故type(list)返回結(jié)果為type),因此list是一個(gè)對(duì)象;
第二,list是繼承自object這個(gè)基礎(chǔ)類的,因此list是一個(gè)類(list._bases_返回結(jié)果為objecct)
綜上,list既是一個(gè)類,也是一個(gè)對(duì)象,因此python中類也是對(duì)象。
同樣的,type可以實(shí)例化自己,也可以實(shí)例化object,同時(shí)繼承自object
object是最基礎(chǔ)的類,是由type實(shí)例化得到的