python 中類的初始化方法


在 Python 的類中,有一種特殊的方法——初始化方法。它的格式是 def __init__(self):,方法名由 init(initialize 的縮寫,初始化的意思)加左右兩邊的 雙下划線 組成。

初始化方法的特殊之處是:每當進行類的實例化時,初始化方法會自動被執行。我們看個例子:

class Human: def __init__(self): print('Hi,我是 Human 類的初始化方法') human = Human() # 輸出:Hi,我是 Human 類的初始化方法


我們可以看到,我們只是創建了實例,並沒有調用 __init__ 方法,它自己就自動執行了。利用這個特性,我們通常會在 初始化方法 里完成類屬性初始值的設置。比如:

class Human: def __init__(self): # self.不能丟 self.arms = 2 self.legs = 2 self.hair = '各種顏色的頭發' def walk(self): print('直立行走') def speak(self): print('說着各式各樣的語言') human = Human() print(human.hair) # 輸出:各種顏色的頭發

除了進行固定的初始值設置,初始化方法 可以接收其他參數,進行自定義的屬性初始值設置。我們再看個例子:
class Human: def __init__(self, name, arms, legs, hair): # self.不能丟 self.name = name self.arms = arms self.legs = legs self.hair = hair def walk(self): print('直立行走') def speak(self): print('說着各式各樣的語言') def intro(self): print('我叫{},我有{}'.format(self.name, self.hair)) xiaobei = Human('小貝', 2, 2, '粉紅色的頭發') print(xiaobei.name) # 輸出:小貝 xiaobei.intro() # 輸出:我叫小貝,我有粉紅色的頭發

我們給 初始化方法 額外添加了 4 個參數,因此在實例化的時候要傳入對應的值。Human('小貝', 2, 2, '粉紅色的頭發') 這里的 '小貝' 賦值給 self.name,兩個 2 分別賦值給 self.arms 和 self.legs,'粉紅色的頭發' 賦值給 self.hair。

當實例化完成之后,初始化方法會自動執行,這樣我們就完成了自定義的屬性初始值設置。然后我們可以通過 實例名.屬性名 在類外訪問或 self.屬性名 在類的方法中訪問了。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM