開發與維運

對象的創建流程 | Python從入門到精通:高階篇之二十一

類的簡介 | Python從入門到精通:高階篇之二十

對象的創建流程

我們上一節對類有一個簡單的瞭解,現在我們再次進行一個簡單的說明。
類也是一個對象!
類就是一個用來創建對象的對象!類就類似於一份圖紙,我們根據設計圖紙去進行對象的創建。而圖紙也需要去創建,所以類也需要去創建。
而對象創建就需要有id、type、value。類的value是空值,那麼它的id、type是什麼呢?

print(id(MyClass) , type(MyClass))

執行結果:

image.png

類是type類型的對象,定義類實際上就是定義了一個type類型的對象。
我們就依照上面的例子通過圖來解析一下這個過程(使用類來創建對象流程)。

圖1.png

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)

執行結果:

image.png

若直接替換代碼為:

print(mc_2.name)

則程序會報錯。
執行結果:

image.png

因為我們只給變量mc添加的屬性,而mc_2中並未有。
我們依然在圖中創建對象進行跟之前一樣的創建對象的流程。我們給mc_2一個value則需要這樣添加代碼:

mc_2.name = '豬八戒'

print(mc_2.name)

執行結果:

image.png

同理,mc_3的value也不存在,需要我們去添加。

本節我們需要了解類也是對象,並說明對象的創建流程。所有對象創建流程都是一樣的。

配套視頻課程,點擊這裡查看

獲取更多資源請訂閱Python學習站

Leave a Reply

Your email address will not be published. Required fields are marked *