溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python3類中的def __init()__怎么用

發(fā)布時(shí)間:2020-11-17 09:47:15 來(lái)源:億速云 閱讀:308 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹python3類中的def __init()__怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

單個(gè)函數(shù)的使用小編也寫(xiě)了不少,說(shuō)起基礎(chǔ)的init函數(shù)也是我們的老朋友了。組合函數(shù)的要么是理解又一定的難度,要么是操作方法有復(fù)雜的地方。小編今天要講的def __init()__屬于第一種,只要小伙伴們理解透徹,使用起來(lái)并不困難。所以小編通過(guò)數(shù)學(xué)中的三角形給大家舉例,在我們所熟知的知識(shí)中延展出新的內(nèi)容。

顧名思義,init是初始化的意思,init函數(shù),也就是初始化函數(shù),意思就是,當(dāng)實(shí)例化類的時(shí)候,自動(dòng)運(yùn)行的函數(shù),如果我們實(shí)例化的時(shí)候給類傳了參數(shù),參數(shù)也是呈交給這個(gè)函數(shù)來(lái)處理的。所以,你可以在init函數(shù)里寫(xiě)上任何你希望實(shí)例化的時(shí)候就自動(dòng)執(zhí)行的函數(shù),比如像print('實(shí)例化已完成')什么的都是可以的。

但大部分時(shí)候,我們希望實(shí)例化的時(shí)候干些啥?當(dāng)然是把數(shù)據(jù)傳給類的屬性啊,所以絕大部分情況下,init函數(shù)都充當(dāng)了構(gòu)造函數(shù)的作用,我們可以在這里面寫(xiě)明把傳來(lái)的數(shù)據(jù)賦予誰(shuí),或經(jīng)過(guò)怎樣的預(yù)處理后再賦予誰(shuí)。

就拿那個(gè)三角形來(lái)說(shuō),我們希望在生成三角形(實(shí)例化)的時(shí)候,就給三角形生成器(類)傳入三條邊長(zhǎng),而不是實(shí)例化完了之后,再tr1.a=6,tr1.b=7這樣的一個(gè)個(gè)賦值。所以我們直接就在init函數(shù)里寫(xiě)明了參數(shù)的傳遞規(guī)則。 

另外再說(shuō)一句,在傳入?yún)?shù)實(shí)例化后,除了可以查看,也是可以再次修改的:

tr1.a
->6
 
tr1.a=7
tr1.a
->7

拓展:那個(gè)self是什么東西,為什么要寫(xiě)self.a?

我們?cè)谑褂脤?duì)象的屬性的時(shí)候,寫(xiě)法是“對(duì)象名.屬性名”,就像上面的tr1.a。在定義類的時(shí)候,為了保持一致,也要采用這種寫(xiě)法。但由于類定義的時(shí)候,還沒(méi)有實(shí)例化,并不清楚對(duì)象名是什么,所以可以隨便寫(xiě)一個(gè)(但要前后一致),一般都寫(xiě)self。

以上是python3類中的def __init()__怎么用的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI