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

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對眾多的數(shù)據(jù),我們要過濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設(shè)計語言,由GuidovanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發(fā)它(傳遞異常),實現(xiàn)起來很簡單,使用不帶參數(shù)的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應(yīng)用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線