更新時間:2022-08-02 來源:黑馬程序員 瀏覽量:
在Python程序中,提供了兩個比較特殊的方法:_int_()和_del_(),分別用于初始化對象的屬性和釋放類所占用的資源。
在之前的案例中,我們給jeep引用的對象動態(tài)地添加了color(車的顏色)屬性。試想一下,如果再創(chuàng)建一個Car類對象,還要通過“對象名.屬性名稱”的形式添加屬性,每創(chuàng)建一個對象,就需要添加一次屬性,這種做法顯然非常麻煩。
為了解決這個問題,可以在創(chuàng)建對象的時候就設(shè)置好屬性,Python提供了一個構(gòu)造方法,該方法的固定名稱為_init_(兩個下劃線開頭和兩個下劃線結(jié)尾)。當創(chuàng)建類的實例的時候,系統(tǒng)會自動調(diào)用構(gòu)造方法,從而實現(xiàn)對類進行初始化的操作。
為了讓大家更好地理解,下面通過一個案例演示如何使用構(gòu)造方法進行初始化操作,如例11-2所示。
例11-2 使用構(gòu)造方法.py
# 定義類 class Car: # 構(gòu)造方法 def __init__(self): self.color = '黑色' # 鳴笛 def toot(self): print("%s的車在鳴笛..."%(self.color)) # 創(chuàng)建一個對象,并用變量car保存它的引用 car = Car() # 汽車鳴笛 car.toot()
在例11-2中,定義了一個Car類,該類中有一個構(gòu)造方法和toot方法。其中,在構(gòu)造方法中給Car類添加了一個名稱為color的屬性,并設(shè)置其初始值為“黑色”,在toot方法中使用self訪問了color屬性的值。創(chuàng)建一個Car類的對象car,通過該對象來調(diào)用toot方法。
程序運行的結(jié)果如圖11-4所示。
圖11-4 運行結(jié)果