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