1. 程式人生 > >十九、面向物件基礎1:類、__init__和__str__、小例子(烤地瓜相關程式;存放傢俱:建立了房子類、建立了床類、沙發類)

十九、面向物件基礎1:類、__init__和__str__、小例子(烤地瓜相關程式;存放傢俱:建立了房子類、建立了床類、沙發類)

一、類和物件的關係

面向物件程式設計的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的結果看起來更好一些

輸出結果:

六、小例子—存放傢俱

建立房子類,床類,沙發類:

輸出結果: