面向對象簡介 | 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)
運行結果:
此時我們查看其變量類型:
a = int(10) # 創建一個int類的實例
b = str('hello') # 創建一個str類的實例
print(a , type(a))
print(b , type(b))
運行結果:
定義一個簡單的類
使用class關鍵字來定義類,語法和函數很像,其基本結構如下:
class 類名([父類]):
代碼塊
定義一個最簡單的類,並打印,代碼如下:
class MyClass():
pass
print(MyClass)
運行結果:
使用MyClass創建一個對象
使用類來創建對象,就像調用一個函數一樣,代碼編寫如下:
mc = MyClass() # mc就是通過MyClass創建的對象,mc是MyClass的實例
print(mc)
運行結果:
進一步查看其類型:
mc = MyClass() # mc就是通過MyClass創建的對象,mc是MyClass的實例
print(mc, type(mc))
運行結果:
創建多個對象同上面的代碼,可編寫如下:
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)
運行結果:
同樣,此代碼也同樣適用於其他對象:
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)
運行結果:
現在我們通過MyClass這個類創建的對象都是一個空對象,也就是對象中實際上什麼都沒有,就相當於是一個空的盒子。
配套視頻課程,點擊這裡查看
獲取更多資源請訂閱Python學習站