python 中類的初始化方法

2021-10-24 05:16:42 字數 1513 閱讀 9845

在 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.屬性名 在類的方法中訪問了。

類初始化 例項初始化 方法重寫

乙個類要建立例項需要先載入並初始化該類 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 clinit 方法 例項初始化就是執行 init 方法 哪些方法不可以被重寫 物件的多型性 父類 author barrylee 2018年11月10日 下午3 52 33 public class fa...

PYTHON 初始化方法

初始化方法 init 是python物件的內建方法 init 方法是專門用來定義乙個類具有哪些屬性和方法的 初始化方法 我們現在已經知道了使用 類名 就可以建立乙個物件 當使用類名 建立物件時,python的直譯器會自動執行以下操作 1.為物件在記憶體中分配空間 建立物件 2.呼叫初始化方法為物件的...

python初始化方法

python可以用 init 函式進行初始化,子類中可以使用super函式和 init 進行初始化 encoding utf 8 class person object def init self,name,self.name name self.class child person child 繼...