Python中 __init__的通俗解釋是什么?

可能大家常常會在面向?qū)ο缶幊讨锌吹?strong>init,而且?guī)缀趺總€類中都會有,它的作用都是是什么呢?

要想明白init,你首先要弄清楚面向?qū)ο笫鞘裁矗?/p>

Python是一門面向?qū)ο蟮木幊陶Z言,面向?qū)ο笫且环N代碼封裝的技術(shù),包含了各種功能,讓代碼能重復(fù)利用、高效節(jié)能。

我們通過class來定義類,類又包含了屬性、方法等,屬性是類里面的變量,方法是類里面的函數(shù)

init就是其中一種函數(shù),叫做構(gòu)造函數(shù)。

def __init__(self,...):
    代碼塊

每次創(chuàng)建類的實例對象時,init函數(shù)就會自動被調(diào)用,無論它里面有什么樣的變量、計算,統(tǒng)統(tǒng)會自動調(diào)用。

可能你又會問實例對象是什么?其實我們可以把類比作一張建筑圖紙,而實例對象是建造的房子,房子的所有功能都是根據(jù)圖紙來設(shè)計的。

理解init函數(shù)需要搞清楚以下三點:

1.帶有兩個下劃線開頭的函數(shù)是聲明該屬性為私有,不能在類地外部被使用或直接訪問。
2.init函數(shù)(方法)支持帶參數(shù)的類的初始化 ,也可為聲明該類的屬性
3.init函數(shù)(方法)的第一個參數(shù)必須是 self(self為習(xí)慣用法,也可以用別的名字),后續(xù)參數(shù)則可 以自由指定,和定義函數(shù)沒有任何區(qū)別。

# 不帶參數(shù)
class Sample:
    def __init__(self):
        print("自動調(diào)用構(gòu)造方法")
        # 定義了一個實例屬性
        self.name = "小明"

test = Sample()
print(test.name)

# 輸出結(jié)果
自動調(diào)用構(gòu)造方法
小明

如上,在創(chuàng)建 test這個對象時,隱式調(diào)用了手動創(chuàng)建的init()構(gòu)造方法

構(gòu)造函數(shù)init為什么會存在?

顧名思義,就像房子必須有地基、框架、大梁一樣,是房子的基礎(chǔ),實例對象也需要有的構(gòu)造的基礎(chǔ),這就是構(gòu)造函數(shù)的作用,給實例對象最原始的屬性。

所以綜上,構(gòu)造方法init用于創(chuàng)建實例對象時使用,每當(dāng)創(chuàng)建一個類的實例對象時,Python 解釋器都會自動調(diào)用它,用來初始化對象的某些屬性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容