開發者學堂課程【Python 語言基礎 3:函數、面向對象、異常處理:類的特殊方法 init】學習筆記,與課程緊密聯系,讓使用者快速學習知識。
課程位址:
https://developer.aliyun.com/learning/course/601/detail/8745類的特殊方法 init
目錄
一、類對象的初始化
二.建立對象的流程
三.類的基本結構
一.類對象的初始化
案例代碼塊:
class Person :
def say_hello(self):
print('大家好,我是%s‘%seIf. name)
p1 = Person()
# #手動向對象添加 name 屬性
p1. name =‘孫悟空‘
p2 = Person( )
p2.name =‘豬八戒’
p3 = Person( )
p3.name=‘沙和尚'
p3.say_hello()
目前來講,對于 Person 類來說 name 是必須的,并且每一 個對象中的 name 屬性基本上都是不同,而我們現在是将 name 屬性在定義為對象以後,手動添加到對象中,這種方式很容易出現錯誤,是以我們希望,在建立對象時,必須設定 name 屬性,如果不設定對象将無法建立,并且屬性的建立應該是自動完成的,而不是在建立對象以後手動完成。
是以我們在類中可以定義一些特殊方法(魔術方法),代碼如下:
class Person:
def__init__(self):
print(‘init方法執行了~~’)
pass
def say_hello(self):
print(‘大家好,我是%s’%self.name)
p1=Person()
#p1.__init__()不要這麼做
注意:
特殊方法都是以__開頭, __結尾的方法
特殊方法不需要我們自己調用,不要嘗試去調用特殊方法
特殊方法将會在特殊的時刻自動調用
學習特殊方法:
1. 特殊方法什麼時候調用
2. 特殊方法有什麼用
1.建立一個變量
2.在記憶體中建立一個新對象
3. 執行類的代碼塊中的代碼(隻在類定義的時候執行一次 )
4.__init__ (self) 方法執行
5.将對象的 i d 指派給變量
init 會在對象建立以後離開執行
init 可以用來向新建立的對象中初始化屬性
class 類名([父類]);
公共的屬性…
# 對象的初始化方法
def __init__(self,…);
…
def method_1(self,…);
…
def method_2(self,..):