最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

構(gòu)造函數(shù)的使用方法介紹

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:14:13
文檔

構(gòu)造函數(shù)的使用方法介紹

構(gòu)造函數(shù)的使用方法介紹:類是指:描述一種事物的定義,是個(gè)抽象的概念 實(shí)例指:該種事物的一個(gè)具體的個(gè)體,是具體的東西 打個(gè)比方: 人是一個(gè)類。張三是人類的一個(gè)具體例子 在編程時(shí)也是同樣的道理,你先自己定義一個(gè)類,當(dāng)你需要用時(shí),用類的定義來創(chuàng)造一個(gè)具體的例
推薦度:
導(dǎo)讀構(gòu)造函數(shù)的使用方法介紹:類是指:描述一種事物的定義,是個(gè)抽象的概念 實(shí)例指:該種事物的一個(gè)具體的個(gè)體,是具體的東西 打個(gè)比方: 人是一個(gè)類。張三是人類的一個(gè)具體例子 在編程時(shí)也是同樣的道理,你先自己定義一個(gè)類,當(dāng)你需要用時(shí),用類的定義來創(chuàng)造一個(gè)具體的例
類是指:描述一種事物的定義,是個(gè)抽象的概念
實(shí)例指:該種事物的一個(gè)具體的個(gè)體,是具體的東西

打個(gè)比方:
“人”是一個(gè)類?!皬埲笔侨祟惖囊粋€(gè)具體例子

在編程時(shí)也是同樣的道理,你先自己定義一個(gè)“類”,當(dāng)你需要用時(shí),用“類”的定義來創(chuàng)造一個(gè)具體的例子。

用類的定義來創(chuàng)建一個(gè)實(shí)例,就叫做類的實(shí)例化。
實(shí)例化過程就是調(diào)用類的構(gòu)造函數(shù),完成該實(shí)例的數(shù)據(jù)分配

下面用一個(gè)洗衣機(jī)的例子來演示:

這個(gè)是一個(gè)簡(jiǎn)單的手動(dòng)洗衣機(jī) w 實(shí)例化了Washer類:

 1 #class Washer: 2 class Washer:#定義一個(gè)Washer類 3 4 def __init__(self): #這是定義類的構(gòu)造函數(shù),也是一個(gè)特殊的實(shí)例方法 5 self.water=0 #實(shí)例的屬性(變量) 6 self.scour=0 7 8 def add_water(self,water):#實(shí)例的方法(函數(shù)),可以接受實(shí)例化后傳過來的參數(shù)給類內(nèi)實(shí)例變量,又因?yàn)閷?shí)例繼承了類的屬性和方法,所以 9 #相當(dāng)于傳遞給了類的實(shí)例化對(duì)象的實(shí)例變量10 print('Add water:',water)11 self.water=water#在類的方法內(nèi)引用實(shí)例變量用 self.屬性名12 13 def add_scour(self,scour):14 self.scour=scour15 print('Add scour:',scour)16 17 def start_wash(self):18 print('Start wash...')19 20 if __name__=='__main__':21 w=Washer()#類的實(shí)例化22 w.add_water(10)#傳遞參數(shù)到實(shí)例變量23 w.add_scour(2)24 w.start_wash()

執(zhí)行結(jié)果:

類內(nèi)定義實(shí)例方法需要手動(dòng)加上self參數(shù)(如第4行),但在類實(shí)例化后調(diào)用這個(gè)方法時(shí)不必手動(dòng)加self參數(shù),python會(huì)自動(dòng)添加,如第22行。

實(shí)例化方法是 w=Washer() ,可以看出需要在類后加一個(gè)括號(hào)。

類外調(diào)用類內(nèi)定義的實(shí)例方法可以 實(shí)例名.方法名() ,例如

w.add_scour(2),必要的時(shí)候加上參數(shù)。

下面改動(dòng)一下程序,弄成半自動(dòng)洗衣機(jī),即在類的內(nèi)部,方法之間相互調(diào)用。

washa.py:

 1 class Washer: 2 3 def __init__(self): 4 self.water=0 5 self.scour=0 6 7 def set_water(self,water): 8 self.water=water 9 self.add_water()10 11 def set_scour(self,scour):12 self.scour=scour13 self.add_scour()#在類內(nèi)調(diào)用函數(shù),用 self.方法名14 15 def add_water(self):16 print('Add water:',self.water)17 18 def add_scour(self):19 print('Add scour:',self.scour)20 21 def start_wash(self):22 print('Start wash...')23 24 if __name__=='__main__':25 w=Washer()26 w.set_water(10)27 w.set_scour(2)28 w.start_wash()29

也可以改成:

 1 class Washer: 2 3 def __init__(self): 4 self.water=0 5 self.scour=0 6 7 def set_water(self,water): 8 self.water=water 
 9 10 def set_scour(self,scour):11 self.scour=scour 
12 13 def add_water(self):14 print('Add water:',self.water)15 16 def add_scour(self):17 print('Add scour:',self.scour)18 19 def start_wash(self):20 self.add_water()21 self.add_scour()22 print('Start wash...')23 24 if __name__=='__main__':25 w=Washer()26 w.set_water(10)27 w.set_scour(2)28 w.start_wash()

運(yùn)行結(jié)果:


做如下改動(dòng),用戶可以不設(shè)置洗衣機(jī)加水和洗滌劑量也可以洗衣服:

 1 class Washer: 2 3 def __init__(self): 4 self.water=10#將實(shí)例屬性修改為默認(rèn)的標(biāo)準(zhǔn)洗衣程序需要的量 5 self.scour=2 6 7 def set_water(self,water): 8 self.water=water 
 9 10 def set_scour(self,scour):11 self.scour=scour 
12 13 def add_water(self):14 print('Add water:',self.water)15 16 def add_scour(self):17 print('Add scour:',self.scour)18 19 def start_wash(self):20 self.add_water()21 self.add_scour()22 print('Start wash...')23 24 if __name__=='__main__':25 w=Washer()26 ## w.set_water(10) #這兩行代碼注釋掉,代表用戶不必設(shè)置水和洗滌劑量27 ## w.set_scour(2)28 w.start_wash()29

但是這樣,只能加入10L水和2L洗滌劑,不好,要改進(jìn)。用到構(gòu)造函數(shù)。


 1 class Washer: 2 3 def __init__(self,water=10,scour=2): 4 self.water=water 5 self.scour=scour 6 7 def set_water(self,water): 8 self.water=water 
 9 10 def set_scour(self,scour):11 self.scour=scour 
12 13 def add_water(self):14 print('Add water:',self.water)15 16 def add_scour(self):17 print('Add scour:',self.scour)18 19 def start_wash(self):20 self.add_water()21 self.add_scour()22 print('Start wash...')23 24 if __name__=='__main__':25 w=Washer()26 w.start_wash()27 28 wb=Washer(100,10)29 wb.start_wash()30 31 wc=Washer(100,10)32 wc.set_water(50)33 wc.set_scour(5)34 wc.start_wash()35 36 37 38 39

運(yùn)行結(jié)果:

構(gòu)造函數(shù)可以使類在實(shí)例化時(shí)實(shí)例對(duì)象更加豐富,具有實(shí)例化不同種類的實(shí)例的作用。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

構(gòu)造函數(shù)的使用方法介紹

構(gòu)造函數(shù)的使用方法介紹:類是指:描述一種事物的定義,是個(gè)抽象的概念 實(shí)例指:該種事物的一個(gè)具體的個(gè)體,是具體的東西 打個(gè)比方: 人是一個(gè)類。張三是人類的一個(gè)具體例子 在編程時(shí)也是同樣的道理,你先自己定義一個(gè)類,當(dāng)你需要用時(shí),用類的定義來創(chuàng)造一個(gè)具體的例
推薦度:
標(biāo)簽: 方法 使用 使用方法
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top