__init__方法是 Python 中的一個特殊函數,用於在創建對象時對其進行初始化。它允許設置對象的初始狀態或屬性。
__init__用於確保當從類創建對象時(例如從藍圖創建玩具或汽車),它從正確的特徵或屬性開始。這就像從創建玩具的那一刻起就確保您的玩具具有正確的顏色或車具有正確的品牌和型號。
__init__方法對於在 Python 中設置對象的初始條件至關重要,確保它們以正確的值開始。
下面通過以下 5 個示例深入探討 Python init 方法:
示例 1:最簡單的使用__init__
class Toy :
def __init__ ( self ):
self.color = "red"
my_toy = Toy()
print (my_toy.color) # 輸出 = red
在此代碼塊中:
- 想像一下有一個神奇的玩具(Python 類),每個神奇的玩具都有一個顏色(屬性)。在這種情況下,玩具始終是紅色的(屬性值)。
- 當創建一個新的魔法玩具(my_toy)時,它會因為__init__魔法而自動變成紅色。
- 因此,當問玩具是什麼顏色時,它默認說「紅色」。
- 這裡所有的玩具都是紅色的。
示例 2:__init__帶有參數
class Toy:
def __init__ ( self, color ):
self.color = color
my_toy = Toy( "blue" )
print (my_toy.color)
在此代碼塊中:
- 現在,玩具可以是您喜歡的任何顏色,而不僅僅是紅色。當你創建它時,你可以告訴它你想要什麼顏色。
- 在這裡,我們製作了一個新的神奇玩具(my_toy)並說它應該是「藍色」。
- 因此,當我們問玩具是什麼顏色時,它會說「藍色」。
示例 3:具有多個參數的 init
class Toy:
def __init__ ( self, color, size ):
self.color = 顏色
self.size = size
my_toy = Toy( "green" , "small" )
print (my_toy.color)
print (my_toy.size)
在此代碼塊中:
- 我們的神奇玩具有兩個重要的東西:顏色和尺寸。
- 當我們創建一個新的神奇玩具(my_toy)時,我們會告訴它顏色(「綠色」)和尺寸(「小」)。
- 因此,當我們向玩具詢問這些事情時,它會告訴我們它是「綠色」和「小」。
示例 4:使用默認值進行初始化
class Toy :
def __init__ ( self, color= "red" , size= "medium" ):
self.color = color
self.size = size
my_toy1 = Toy() # 沒有給出特定的顏色或尺寸
my_toy2 = Toy( "blue" ) # 僅指定顏色
print (my_toy1.color, my_toy1.size)
print (my_toy2.color, my_toy2.size)
在此代碼塊中:
- 我們的神奇玩具可以有顏色(「紅色」)和尺寸(「中」)的默認值。
- 當我們創建一個新的魔法玩具 ( my_toy1) 而不告訴它任何內容時,由於默認設置,它會變成紅色且中等大小。
- 當我們創建另一個神奇玩具 ( my_toy2) 並只告訴它顏色(「藍色」)時,它會變成藍色,但仍然是中等大小,因為我們沒有說明任何有關大小的信息。
示例 5:使用複雜對象進行初始化
class Car :
def __init__ ( self, make, model,year, color= "white" ):
self.make = make
self.model = 型號
self.year = 年
self.color = color
my_car = Car( "豐田" , "凱美瑞" , 2023 )
print ( f"我的車是{my_car.year} {my_car.make} {my_car.model} in {my_car.color}。" )
在此代碼塊中:
- 現在,我們正在創造一輛神奇的汽車,而不僅僅是一個玩具。我們的汽車有很多信息,例如品牌(「豐田」)、型號(「凱美瑞」)、年份(2023)和顏色(默認為「白色」)。
- 當我們創建汽車時 ( my_car),我們會告訴它所有這些細節。
- 因此,當我們向我們的汽車詢問其自身情況時,它會自豪地說:「我的汽車是一輛 2023 款白色豐田凱美瑞。」