Python中__init__的作用是什么?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文發(fā)布平臺(tái)等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
看到Python中有個(gè)函數(shù)名比較奇特,__init__我知道加下劃線的函數(shù)會(huì)自動(dòng)運(yùn)行,但是不知道它存在的具體意義..
Python中所有的類成員(包括數(shù)據(jù)成員)都是 公共的 ,所有的方法都是 有效的 。
只有一個(gè)例外:如果你使用的數(shù)據(jù)成員名稱以 雙下劃線前綴 比如__privatevar,Python的名稱管理體系會(huì)有效地把它作為私有變量。
這樣就有一個(gè)慣例,如果某個(gè)變量只想在類或?qū)ο笾惺褂?,就?yīng)該以單下劃線前綴。而其他的名稱都將作為公共的,可以被其他類/對(duì)象使用。記住這只是一個(gè)慣例,并不是Python所要求的(與雙下劃線前綴不同)。
同樣,注意__del__方法與 destructor 的概念類似。"
恍然大悟原來__init__在類中被用做構(gòu)造函數(shù),固定寫法,看似很死板,其實(shí)有道理
def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1
name變量屬于對(duì)象(它使用self賦值)因此是對(duì)象的變量
self.name的值根據(jù)每個(gè)對(duì)象指定,這表明了它作為對(duì)象的變量的本質(zhì)。
例如我們定義一個(gè)Box類,有width, height, depth三個(gè)屬性,以及計(jì)算體積的方法:
class Box: def setDimension(self, width, height, depth): self.width = width self.height = height self.depth = depth def getVolume(self): return self.width * self.height * self.depth b = Box() b.setDimension(10, 20, 30) print(b.getVolume())
我們?cè)贐ox類中定義了setDimension方法去設(shè)定該Box的屬性,這樣過于繁瑣,而用__init__()這個(gè)特殊的方法就可以方便地自己對(duì)類的屬性進(jìn)行定義,__init__()方法又被稱為構(gòu)造器(constructor)。
class Box: #def setDimension(self, width, height, depth): # self.width = width # self.height = height # self.depth = depth def __init__(self, width, height, depth): self.width = width self.height = height self.depth = depth def getVolume(self): return self.width * self.height * self.depth b = Box(10, 20, 30) print(b.getVolume())
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
網(wǎng)頁(yè)題目:Python中__init__的作用是什么
本文鏈接:http://jinyejixie.com/article24/ppepje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、用戶體驗(yàn)、定制網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站改版、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)