久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python中的__init__作用是什么

瀏覽:3日期:2022-07-21 18:03:42

看到Python中有個(gè)函數(shù)名比較奇特,__init__我知道加下劃線(xiàn)的函數(shù)會(huì)自動(dòng)運(yùn)行,但是不知道它存在的具體意義..

Python中所有的類(lèi)成員(包括數(shù)據(jù)成員)都是 公共的 ,所有的方法都是 有效的 。

只有一個(gè)例外:如果你使用的數(shù)據(jù)成員名稱(chēng)以 雙下劃線(xiàn)前綴 比如__privatevar,Python的名稱(chēng)管理體系會(huì)有效地把它作為私有變量。

這樣就有一個(gè)慣例,如果某個(gè)變量只想在類(lèi)或?qū)ο笾惺褂茫蛻?yīng)該以單下劃線(xiàn)前綴。而其他的名稱(chēng)都將作為公共的,可以被其他類(lèi)/對(duì)象使用。記住這只是一個(gè)慣例,并不是Python所要求的(與雙下劃線(xiàn)前綴不同)。

同樣,注意__del__方法與 destructor 的概念類(lèi)似。'

恍然大悟原來(lái)__init__在類(lèi)中被用做構(gòu)造函數(shù),固定寫(xiě)法,看似很死板,其實(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類(lèi),有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.depthb = Box()b.setDimension(10, 20, 30)print(b.getVolume())

我們?cè)贐ox類(lèi)中定義了setDimension方法去設(shè)定該Box的屬性,這樣過(guò)于繁瑣,而用__init__()這個(gè)特殊的方法就可以方便地自己對(duì)類(lèi)的屬性進(jìn)行定義,__init__()方法又被稱(chēng)為構(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.depthb = Box(10, 20, 30)print(b.getVolume())

知識(shí)點(diǎn)擴(kuò)展:

__init__()要點(diǎn)如下:

1.名稱(chēng)固定,必須為_(kāi)_init__()

2.第一個(gè)參數(shù)固定,必須為self。self指的就是剛剛創(chuàng)建好的示例對(duì)象。

3.構(gòu)造函數(shù)通常用來(lái)初始化示例屬性,如下代碼就是初始化示例屬性:

4.通過(guò)類(lèi)名(參數(shù)列表),來(lái)調(diào)用構(gòu)造函數(shù),調(diào)用后,將創(chuàng)建好的對(duì)象返回給相應(yīng)的變量。

5.__init__()方法:初始化創(chuàng)建好的對(duì)象,初始化指的是:'給實(shí)例屬性賦值'

6.__new__()方法:用于創(chuàng)建對(duì)象,但我們一般無(wú)需定義該方法。

以上就是Python中的__init__作用是什么的詳細(xì)內(nèi)容,更多關(guān)于Python中的__init__到底是干什么的的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 四川省| 金乡县| 法库县| 剑阁县| 恩平市| 上蔡县| 新绛县| 眉山市| 九台市| 卫辉市| 孝义市| 罗平县| 建湖县| 永顺县| 富蕴县| 榆社县| 锡林郭勒盟| 平陆县| 宾川县| 乌鲁木齐县| 南康市| 巴彦县| 鸡泽县| 乳山市| 伊吾县| 新泰市| 汉沽区| 灵璧县| 沙洋县| 余江县| 安仁县| 浦江县| 安溪县| 根河市| 佳木斯市| 砀山县| 葫芦岛市| 虎林市| 旺苍县| 台湾省| 徐水县|