本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes
從這節開始介紹Python面向對象的編程方法,面向對象的方法有很多好處,讓代碼更容易共享,降低代碼耦合度,提高編程的效率等等。
面向對象主要的概念是類和實例,類就像模具,類只有一個,實例就像用模具做出的各種產品,實例可以有很多個,下面我們就用程序模擬一隻小狗。
一、類
我們可以按如下方式定義一個小狗的類,類的名稱約定用大寫字母開頭:
class Dog():'''模擬一隻狗'''def __init__(self,name,age): '''在生成狗的時候設置相關屬性''' self.name = name self.age =age print('報告主人!我的名字叫'+self.name+'我今年'+age+'歲了!')def sit(self): '''模擬小狗坐下的動作''' print(self.name + '已經坐下了!')
上面這些代碼初看有點複雜,其實很簡單,第一行是一個類的定義,縮進裡面有兩個方法(在面向對象中,我們將函數稱為方法)__init__()和site()方法,方法的名稱約定用小寫字母開頭,和類區分開來。下面進行一些說明:
1、方法__init__()
這個方法和普通的函數沒有區別,唯一不同就是當類創建一個實例的時候,會自動執行這個方法。
每個類必須有一個__init__()方法,名稱不能改變,注意init的前後各有兩個下劃線。
這個方法中的self參數是默認要有的,self代表的是實例自己,當類創建實例時會將實例傳遞給self參數。
2、屬性
我們在__init__()方法中定義兩個變量self.name和self.age,以self開頭的變量,可以被實例中的所有方法使用,這兩個變量就被稱為類的屬性。
二、實例
1、創建實例
我們需要產生一個小狗的實例,可以用下面這種方式:
Dog('小白','3')
這樣就產生了一個實例,為了方便使用實例,我們將它賦值給一個變量:
mydog = Dog('小白','3')
請看執行結果:
我們在主程序中並沒有列印什麼信息,但是輸出的結果卻有信息列印出來,這是因為類在實例化的過程中會自動調用__init__()方法,而這個方法中剛好有一條print語句,因此會有信息列印出來。
2、訪問屬性
我們也可以通過mydog這個實例列印其中的屬性,請看下面的執行結果:
3、調用方法
也可以調用mydog實例中的方法:
4、創建多個實例
可以創建多個小狗的實例,請看執行結果:
#Python入門教程#
長按文末點讚送三連,支持本文作者多寫點~