開發與維運

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

面向對象簡介 | Python從入門到精通:高階篇之十九

類(Class)

我們目前所學習的對象都是Python內置的對象,但是內置對象並不能滿足所有的需求,所以我們在開發中經常需要自定義一些對象。
而類,簡單理解,它相當於一個圖紙。在程序中我們需要根據類來創建對象,所以,類就是對象的圖紙!我們也稱對象是類的實例(instance)。
如果多個對象是通過一個類創建的,我們稱這些對象是一類對象,像 int() float() bool() str() list() dict() ... 這些都是類,請見如下代碼:

a = int(10) # 創建一個int類的實例 等價於 a = 10

常規開發中,我們自定義的類都需要使用大寫字母開頭,使用大駝峰命名法(帕斯卡命名法)來對類命名。運行如下代碼:

a = int(10) # 創建一個int類的實例
b = str('hello') # 創建一個str類的實例

print(a)
print(b)

運行結果:

image.png

此時我們查看其變量類型:

a = int(10) # 創建一個int類的實例
b = str('hello') # 創建一個str類的實例

print(a , type(a))
print(b , type(b))

運行結果:

image.png

定義一個簡單的類

使用class關鍵字來定義類,語法和函數很像,其基本結構如下:

class 類名([父類]):
    代碼塊

定義一個最簡單的類,並打印,代碼如下:

class MyClass():
    pass

print(MyClass)

運行結果:

image.png

使用MyClass創建一個對象

使用類來創建對象,就像調用一個函數一樣,代碼編寫如下:

mc = MyClass() # mc就是通過MyClass創建的對象,mc是MyClass的實例

print(mc)

運行結果:

image.png

進一步查看其類型:

mc = MyClass() # mc就是通過MyClass創建的對象,mc是MyClass的實例

print(mc, type(mc))

運行結果:

image.png

創建多個對象同上面的代碼,可編寫如下:

mc = MyClass() # mc就是通過MyClass創建的對象,mc是MyClass的實例
mc_2 = MyClass()
mc_3 = MyClass()
mc_4 = MyClass()

mc mc_2 mc_3 mc_4 都是MyClass的實例,他們都是一類對象。
那麼我們如何來檢查一個對象是不是一個類的實例呢?isinstance()用來檢查一個對象是否是一個類的實例,故這個問題可以藉助isinstance()方法:

result = isinstance(mc,MyClass)

# print(mc , type(mc))
print('result =',result)

運行結果:

image.png

同樣,此代碼也同樣適用於其他對象:

result = isinstance(mc_2,MyClass)

# print(mc , type(mc))
print('result =',result)

運行結果:[就用運行結果六這個圖就行,一模一樣的]

若是判斷mc對象是否為str對象時,就會返回False,代碼如下:

result = isinstance(mc_2,str)

# print(mc , type(mc))
print('result =',result)

運行結果:

image.png

現在我們通過MyClass這個類創建的對象都是一個空對象,也就是對象中實際上什麼都沒有,就相當於是一個空的盒子。

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

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

Leave a Reply

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