在學(xué)習(xí) Python 類(lèi)的時(shí)候,會(huì)碰見(jiàn)類(lèi)中有 __init__() 這樣一個(gè)函數(shù),其實(shí)它就是 Python 的構(gòu)造方法。
創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為恒山企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,恒山網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。構(gòu)造方法類(lèi)似于類(lèi)似 init() 這種初始化方法,來(lái)初始化新創(chuàng)建對(duì)象的狀態(tài),在一個(gè)對(duì)象創(chuàng)建后會(huì)立即調(diào)用,比如像實(shí)例化一個(gè)類(lèi):
f = FooBar()
f.init()#手動(dòng)初始化
使用構(gòu)造方法就能讓它簡(jiǎn)化成如下形式:對(duì)象創(chuàng)建后自動(dòng)調(diào)用魔法方法__init__(),對(duì)對(duì)象進(jìn)行初始化操作
f = FooBar()
在明白了構(gòu)造方法之后,來(lái)點(diǎn)進(jìn)階的問(wèn)題,那就是父類(lèi)的構(gòu)造方法中的初始值無(wú)法繼承的問(wèn)題。
class Bird: def __init__(self): self.hungry = True def eat(self): if self.hungry: print 'Ahahahah' else: print 'No thanks!' class SongBird(Bird): def __init__(self): self.sound = 'Squawk' def sing(self): print self.song() sb = SongBird() sb.sing() # 能正常輸出 sb.eat() # 報(bào)錯(cuò),因?yàn)?songgird 中沒(méi)有 hungry 特性
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。