類的簡介 | Python從入門到精通:高階篇之二十
對象的創建流程
我們上一節對類有一個簡單的瞭解,現在我們再次進行一個簡單的說明。
類也是一個對象!
類就是一個用來創建對象的對象!類就類似於一份圖紙,我們根據設計圖紙去進行對象的創建。而圖紙也需要去創建,所以類也需要去創建。
而對象創建就需要有id、type、value。類的value是空值,那麼它的id、type是什麼呢?
print(id(MyClass) , type(MyClass))
執行結果:
類是type類型的對象,定義類實際上就是定義了一個type類型的對象。
我們就依照上面的例子通過圖來解析一下這個過程(使用類來創建對象流程)。
class MyClass():
pass
此時MyClass相當於一個變量,也是類名。類是對象,創建對象開闢內存空間(id、type、value)。
mc = MyClass()
1、創建一個變量mc
2、在內存中創建一個新對象
3、將對象的id賦值給變量
此時在內存中新開闢一個空間,用來存放新對象(id、type、value)。type應該是所創建的類的type,沒有指定的value。
現在我們通過MyClass這個類創建的對象都是一個空對象,也就是對象中實際上什麼都沒有,就相當於是一個空的盒子,可以向對象中添加變量,對象中的變量稱為屬性。
語法:對象.屬性名 = 屬性值
mc.name = '孫悟空'
print(mc.name)
執行結果:
若直接替換代碼為:
print(mc_2.name)
則程序會報錯。
執行結果:
因為我們只給變量mc添加的屬性,而mc_2中並未有。
我們依然在圖中創建對象進行跟之前一樣的創建對象的流程。我們給mc_2一個value則需要這樣添加代碼:
mc_2.name = '豬八戒'
print(mc_2.name)
執行結果:
同理,mc_3的value也不存在,需要我們去添加。
本節我們需要了解類也是對象,並說明對象的創建流程。所有對象創建流程都是一樣的。
配套視頻課程,點擊這裡查看
獲取更多資源請訂閱Python學習站