十九、面向物件基礎1:類、__init__和__str__、小例子(烤地瓜相關程式;存放傢俱:建立了房子類、建立了床類、沙發類)
阿新 • • 發佈:2019-01-30
一、類和物件的關係
面向物件程式設計的2個非常重要的概念:類和物件
物件是面向物件程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外一個新的概念——類
類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件。
總結:類就是建立物件的模板
二、類的構成:
類(Class) 由3個部分構成:
- 類的名稱:類名
- 類的屬性:一組資料
- 類的方法:允許對進行操作的方法 (行為)
三、類
定義一個類,需要使用class關鍵字,關鍵字後面我們稱之為類的名字
類的後面還有一個括號,括號裡需要填寫,此類繼承了那個類
如果這個類沒有繼承別的類,那可以空著也可以刪除括號
預設情況下,python會讓其繼承一個object的這個類,這個類是所有類的基類
命名使用大駝峰命名法,只要定義方法,使用self固定引數
輸出結果:
self的注意點:
類裡面的方法第一個引數的self可以叫做別的名字,但是行業規定都是叫做self,但是必須保證這個方法裡面必須有一個引數,而且代表類本身的這個引數必須放在第一個引數的位置,後面的引數想怎麼寫就可以怎麼寫了。
還有就是在呼叫的時候,沒有傳遞引數。
四、__init__方法 和 __str__方法(都是2個下劃線)
總結:建立物件時會自動的呼叫__init__方法。
當想列印物件的描述資訊時,可以新增__str__方法,這時就會自動的呼叫__str__方法。
五、小例子—烤地瓜
分析“烤地瓜”的屬性和方法:(為了使程式碼清晰易懂,定義屬性名時較直白,但實際定義中不這樣定義,應起名高大上些 )
chengdu:這是數字,0-3表示還是生的,超過3表示半生不熟,超過5表示已經烤好了,超過8表示已經烤成木炭了,我們的地瓜開始時是生的。
chengduMiaoshu:這是這符串,描述地瓜的生熟程式。
zuoliao:這是地瓜的配料列表,比如番茄醬,芥末醬等。
__init__:設定預設的屬性
__str__:讓print的結果看起來更好一些
輸出結果:
六、小例子—存放傢俱
建立房子類,床類,沙發類:
輸出結果: