在創建類時,我們可以手動添加一個__init__()方法,該方法是一個特殊的類實例方法,稱為構造方法(或構造函數)。
構造方法用于創建對象時使用,每當創建一個類的實例對象時,Python解釋器都會自動調用它。Python類中,手動添加構造方法的語法格式如下:
def__init__(self,...):
代碼塊
注意,此方法的方法名中,開頭和結尾各有2個下劃線,且中間不能有空格。Python中很多這種以雙下劃線開頭、雙下劃線結尾的方法,都具有特殊的意義,教程后面還會詳細介紹這些特殊的方法。
另外,__init__()方法可以包含多個參數,但必須包含一個名為self的參數,且必須作為第一個參數。也就是說,類的構造方法最少也要有一個self參數。
例如,仍以Person類為例,添加構造方法的代碼如下所示:
classPerson:
'''這是一個學習Python定義的一個Person類'''
def__init__(self):
print("調用構造方法")
在以上代碼的基礎上,添加如下代碼:
zhangsan=Person()
這行代碼的含義是創建一個名為zhangsan的Person類對象。運行代碼可看到如下結果:顯然,在創建zhangsan這個對象時,隱式調用了類的構造方法。
不僅如此,在__init__()構造方法中,除了self參數外,還可以自定義一些參數,參數之間使用逗號“,”進行分割。例如,下面的代碼在創建__init__()方法時,額外指定了2參數,分別是name和age:
classPerson:
'''這是一個學習Python定義的一個Person類'''
def__init__(self,name,age):
print("這個人的名字是:",name,"年齡為:",age)
#創建zhangsan對象,并傳遞參數給構造函數
zhangsan=Person("張三",20)
運行以上代碼,執行結果為:
這個人的名字是:張三年齡為:20
可以看到,雖然構造方法中有self、name、age3個參數,但實際需要傳參的僅有name和age,也就是說,self不需要手動傳遞參數。
以上內容為大家介紹了python培訓之怎么理解Python的構造方法,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。