Python 中的類與物件
一:類的宣告
1類的關鍵字:
從第一天第一個專案起我們就接觸過關鍵字,比如False True is not None return for while elif
else import等等,這是語言中內定的一個語法規則吧,通過關鍵字告訴電腦下面一個字母或一段
程式碼是什麼,要用來幹什麼,告訴電腦怎麼以哪種規則去用。
而class就是類的關鍵字,告訴系統我要定義一個類了。讓系統用理解類的規則來理解我下面
的一些程式碼。沒有關鍵字來宣告一下,系統就不知道下面的程式碼是什麼。
2.識別符號:
識別符號就是用來作標識的符號。是自己設定的。相關規則如下圖:
反正就是根據規則自己設定的方便自己和他人記憶理解的符號!
3.要繼承的類名:
是一個更大的類,就是自己定義的類是其子類,可以從這個父類中繼承一些功能與特性,現
在使用預設的是object。父類和子類的關係應該像一個學校與這個學校中的一個班級的關係,自定
義類就是新開一個班,班不是隨便開的,是在學校這個環境下開的。不然開了沒有學校的幫助這個
班可能毫無用處。新開的班名就是類的識別符號。
Object是一個超類。就理解成一個天道規則吧。不管是吃飯睡覺打豆豆還是開班傳教。總之這
一切是在這個世界上完成的。在這個世界的運轉規則下完成的。
Object就像是一個所有類的天道規則吧!
二:類中物件初始化:
1. 函式的關鍵字:
不多說,寫一個函式時的關鍵字。因為__init__()是一個函式。
2.__init__()函式與引數:
前面有說到一個超類 object ,__init__()就是這個超類中誕生的一個用於初始化物件資料的一
個函式,就相當於 object這個天道下誕生的一個具有初始化能力的神,__init__()函式的引數是定
義了這個類所具有的一些特性。舉個栗子來說:
Long long ago,天道(object)誕生了,後來女媧(init函式)也誕生了。她有一項能力就是
捏土造人。人是一種什麼存在呢?女媧在腦海中對人進行了想像,人有這麼些特徵(屬性):五
官,四肢,分男女等等。總之,這個神(init)給你設定了一些屬性,那麼不管你怎麼變化都是在
這些屬性之內,她說你是卵生,你就不會是從蛋裡出來。否則你就是跑錯片場了,不屬於這個類,
不是這個類中的物件。
3. 初始化資料:
在這個類中Init函式已經賦予了物件一些屬性,比如說學生這個類,學生中的某個物件是具有
名字,性別,身高,體重這些屬性的。(其他的屬性美醜之類的未定義不考慮)但是名字是什麼?
性別是什麼?這需要初始化一下資料!
回到神話中,女媧要造的“人”,包含五官,四肢,分男女等屬性,但是如果她把這些和別的大
神們說,別的大神還是不知道“人”是什麼,因為五官是什麼,四肢是什麼其他大神還是不知道(由
此可見五官,四肢等其實和“人”也一樣是中物件),這個時候女媧就要做出賦值行為,現場做出五
官,四肢實體然後組成一個人,這個時候其他大神就明白了,即使見到一個比較胖的人也還能認出
這東西是女媧造的人。
三.類的使用:
1. 類的方法:
穿上類的馬甲叫方法,脫了馬甲叫函式。
在類裡面設定的函式,進行一些關於類中物件的處理的步驟方法。
1. 類屬性值的引用:
類不是覺得無聊隨便設立的一個東西,而是為了對一些具有相同屬性特徵的物件進行統一處理
的一個模組。那麼人們既然建立了類這種東西來處理一些問題,那麼也必然會想要從中得到處理的
一些資料。這時便進行了類屬性值的引用,因為既然是一個類,那麼某些角度上來看,其中的所有
物件都是一樣的。只有再深入一點,去看每個物件的屬性值才可以區分每一個物件,所以我們可以
這樣獲取資料:stu.name ,先寫出是哪個物件然後在點一下深入到某個屬性中,如果只有物件名,
那這個物件這麼多屬性系統怎麼知道你要哪一個,索性給你這個物件屬性存放的地址你自己找去
吧!如果只有屬性沒有物件名,那你這個要求就是太無理了,系統會直接給你個錯誤提示就不再
搭理你了!
2. 類方法的引用:
如果說類只能夠幫助人們整理資料然後讓人們來引用的話,那還不如直接建立一個字典。
所有類有一個叫方法的功能,你可能要獲取某種結果是需要對類中物件進行某種處理,那我就
直接把方法寫出來。這樣你想要對哪個物件進行什麼處理,那你直接告訴方法這個東西,方法會直
接給你個結果。這樣看,類中的方法是不是一個很好用很合格的助手呢。
-----------類,大概就是一些具有相同屬性的物件的集合,並能夠對這些物件
進行有效的管理以及進行某些處理的東西
-----------物件,應該什麼東西都可以找到一個被稱為物件的理由。就像是我
在坐著但是太陽說我是在運動著的,有種相對論的感覺。