淺談Python類別(Class) - 104學習精靈
文章推薦指數: 80 %
Q:什麼是類別(Class)? 簡單來說,就是物件(Object)的藍圖(blueprint)。
就像要生產一部汽車時,都會有設計圖,藉此可以知道此類汽車會有哪些特性及功能 ...
我的教室
教室設定
創建教室
創建教室
創建教室
創建教室
淺談Python類別(Class)
Mike的Python學院
關注
MikeKu
LearnCodeWithMike品牌創辦人
2021/10/19
淺談Python類別(Class)
Q:什麼是類別(Class)?簡單來說,就是物件(Object)的藍圖(blueprint)。
就像要生產一部汽車時,都會有設計圖,藉此可以知道此類汽車會有哪些特性及功能,類別(Class)就類似設計圖,會定義未來產生物件(Object)時所擁有的屬性(Attribute)及方法(Method)。
而定義類別的語法如下:classclassname: statement首先會有class關鍵字,接著自定類別名稱,最後加上冒號。
類別名稱的命名原則習慣上使用Pascal命名法,也就是每個單字字首大寫,不得使用空白或底線分隔單字,如下範例:classMyCars:Q:什麼是物件(Object)?就是透過類別(Class)實際建立的實體,就像實際生產出來的汽車(例如:Mazda)。
類別(Class)與物件(Object)的關係就像汽車設計圖與汽車實體。
而建立物件(Object)的語法如下:object_name=classname()範例:mazda=Cars()Q:什麼是屬性(Attribute)?負責存放物件(Object)的資料。
設定物件(Object)的屬性值語法如下:object_name.attribute_name=value範例:mazda=Cars()#建立Cars類別的物件mazda.color="blue"#顏色屬性建立物件(Object)後,才可進行屬性值(Attribute)的設定。
會建議使用建構式(Constructor)來進行屬性值(Attribute)的設定。
而存取物件的屬性值則透過以下語法:object_name.attribute_name範例:print(mazda.color)#執行結果:blueQ:什麼是建構式(Constructor)?於建立物件(Object)的同時,會自動執行的方法(Method)。
所以通常我們會在建構式(Constructor)中初始化物件(Object)的屬性值(Attribute)。
至少要有一個self參數,之後利用逗號區隔其他屬性,語法如下:def__init__(self,color,seat): self.color=color#顏色屬性 self.seat=seat#座位屬性而這個self是什麼意思呢?它代表了實體物件的參考,也就是目前的物件(Object)。
這個self就是告訴類別(Class)目前是在設定哪一個物件的屬性(Attribute)。
所以範例中的意思就是此物件的color屬性等於傳入的color屬性值,此物件的seat屬性等於傳入的seat屬性值,而傳入屬性值的方式就是在建立物件的時候,如下範例:classCars:def__init__(self,color,seat):self.color=color#顏色屬性self.seat=seat#座位屬性mazda=Cars("blue",4)範例中於建立mazda物件(Object)的同時,生成其屬性並且初始化屬性值(color和seat)。
Q:什麼是方法(Method)?可以想像是物件(Object)的行為。
定義方法(Method)和函式(Function)的語法很像,都是def關鍵字開頭,接著自訂名稱,但是方法(Method)和建構式(Constructor)一樣至少要有一個self參數,語法如下:defmethod_name(self): statement範例:classCars:def__init__(self,color,seat):self.color=color#顏色屬性self.seat=seat#座位屬性#方法(Method)defdrive(self):print(f"Mycaris{self.color}andhas{self.seat}seats.")mazda=Cars("blue",4)mazda.drive()#執行結果:Mycarisblueandhas4seats.如果想要學習更多的Python應用教學,歡迎前往LearnCodeWithMike(https://www.learncodewithmike.com/2020/01/python-class.html
)網站觀看更多精彩內容。
OOPPythonlearncodewithmike.com
[Python物件導向]淺談Python類別(Class)
OOPPython2
0
1561拍手留言分享分享到:LineFacebookTwitter複製連結取消
收藏
更多內容來自Mike的Python學院
Mike與104學習精靈合作,在這邊分享LearnCodeWithMike網站上部分的Python「入門教學、爬蟲應用、資料分析與網頁開發」等主題的教學文章,而這也是LearnCodeWithMike品牌的初衷,以簡單易懂的實作幫助大家學習Python程式語言。
關注
延伸文章資訊
- 1淺談Python類別(Class) - 104學習精靈
Q:什麼是類別(Class)? 簡單來說,就是物件(Object)的藍圖(blueprint)。就像要生產一部汽車時,都會有設計圖,藉此可以知道此類汽車會有哪些特性及功能 ...
- 2給自己的Python小筆記: Class 設計(下) - Matters
Github連結6. Static Method, Class Method, Abstract Method1.簡單來說: Static 與Class 都可以當成是存取類別屬性的方法,他們不需...
- 3Python 入門指南- 單元9 - 類別 - 程式語言教學誌
類別(class) 用來設計自己需要的物件(object) ,也就是說類別是物件的藍圖。 Python 中設計類別使用關鍵字(keyword) class ,裡頭可定義類別的類別屬性(class...
- 4Python class設計· parallel_processing
Python class設計. 建構子(constructor); 類別建構與初始化; str method; 用property 取代getters, setters; 類別屬性與實體屬性; ...
- 5[Python物件導向]解析Python物件導向設計的3種類型方法 ...
實體方法(Instance Method) · 類別方法(Class Method) · 靜態方法(Static Method) ...