新聞中心
可能大家常常會在面向對象編程中看到__init__,而且?guī)缀趺總€類中都會有,它的作用都是是什么呢?

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網站、網站重做改版、會寧網站定制設計、自適應品牌網站建設、H5響應式網站、成都做商城網站、集團公司官網建設、成都外貿網站建設公司、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為會寧等各大城市提供網站開發(fā)制作服務。
要想明白__init__,你首先要弄清楚面向對象是什么?
Python是一門面向對象的編程語言,面向對象是一種代碼封裝的技術,包含了各種功能,讓代碼能重復利用、高效節(jié)能。
我們通過class來定義類,類又包含了屬性、方法等,屬性是類里面的變量,方法是類里面的函數(shù)
而__init__就是其中一種函數(shù),叫做構造函數(shù)。
def __init__(self,...):
代碼塊
每次創(chuàng)建類的實例對象時,__init__函數(shù)就會自動被調用,無論它里面有什么樣的變量、計算,統(tǒng)統(tǒng)會自動調用。
可能你又會問實例對象是什么?其實我們可以把類比作一張建筑圖紙,而實例對象是建造的房子,房子的所有功能都是根據圖紙來設計的。
理解__init__函數(shù)需要搞清楚以下三點:
- 帶有兩個下劃線開頭的函數(shù)是聲明該屬性為私有,不能在類地外部被使用或直接訪問
- init函數(shù)(方法)支持帶參數(shù)的類的初始化 ,也可為聲明該類的屬性
- init函數(shù)(方法)的第一個參數(shù)必須是 self(self為習慣用法,也可以用別的名字),后續(xù)參數(shù)則可 以自由指定,和定義函數(shù)沒有任何區(qū)別。
# 不帶參數(shù)
class Sample:
def __init__(self):
print("自動調用構造方法")
# 定義了一個實例屬性
self.name = "小明"
test = Sample()
print(test.name)
# 輸出結果
自動調用構造方法
小明
如上,在創(chuàng)建 test這個對象時,隱式調用了手動創(chuàng)建的__init__()構造方法。
構造函數(shù)__init__為什么會存在?
顧名思義,就像房子必須有地基、框架、大梁一樣,是房子的基礎,實例對象也需要有的構造的基礎,這就是構造函數(shù)的作用,給實例對象最原始的屬性。
所以綜上,構造方法__init__用于創(chuàng)建實例對象時使用,每當創(chuàng)建一個類的實例對象時,Python 解釋器都會自動調用它,用來初始化對象的某些屬性。
名稱欄目:Python中__init__的通俗解釋是什么?
標題鏈接:http://www.5511xx.com/article/cosciop.html


咨詢
建站咨詢
