python - 面向物件 - 初始化方法__init__
阿新 • • 發佈:2019-01-03
初始化方法
我們現在已經知道了使用 類名() 就可以建立一個物件
當使用類名()建立物件時,python的直譯器會自動執行以下操作:
1.為物件在記憶體中分配空間–建立物件
2.呼叫初始化方法為物件的屬性設定初始值–初始化方法__init__
這個初始化方法就是__init__方法,__init__是物件的內建方法
__init__方法是專門用來定義一個類具有哪些屬性的方法
改造初始化方法–初始化的同時設定初始值:
在開發中,如果希望在建立物件的同時,就設定物件的屬性,可以對__init__方法進行改造
1.把希望設定的屬性值,定義成__init__方法的引數
2.在方法內部使用self.屬性名 = 形參 接收外部傳遞的引數
3.在建立物件時,使用類名(屬性1,屬性2…)呼叫
舉例:
class Cat: def __init__(self,new_name): print('這是一個初始化方法') # self.屬性名 = 屬性的初始值 #self.name = 'Tom' self.name = new_name # 在類中,任何方法都可以使用self.name def eat(self): print('%s 愛吃魚' %(self.name)) # 使用類名()建立物件的時候,會自動呼叫初始化方法__init__ tom = Cat('tom') # 定義屬性之後,再用Cat建立物件的時候,都會擁有該屬性 print(tom.name) tom.eat()
輸出:
tom
tom 愛吃魚
在後面再生成一個貓物件:
lazy_cat = Cat('miaomiao')
print(lazy_cat.name)
lazy_cat.eat()
輸出:
print(lazy_cat.name)
lazy_cat.eat()