您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)python子類可以調(diào)用父類方法嗎,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Python中的子類中的__init__()函數(shù)會(huì)覆蓋父類的函數(shù),一些情況往往需要在子類里調(diào)用父類函數(shù)。
如下例程里,處是需要調(diào)用父類函數(shù)的地方,接下來(lái)結(jié)合例程具體介紹。
1 # -*- coding:utf-8 -*- 2 class Student: 3 def __init__(self,name): 4 self.name=name 5 def ps(self): 6 print('I am %s'%self.name) 7 8 class Score(Student): 9 def __init__(self,name,score): 10 self.score=score 11 ??? 12 def ps1(self): 13 print('I\'m %s,%s' %(self.name,self.score)) 14 15 Score('Bob','99').ps() 16 Score('Bob','99').ps1()
Python3.5中,通過(guò)查閱資料,有如下幾種調(diào)用方式。
第一種是直接法。使用父類名稱直接調(diào)用,形如 parent_class.parent_attribute(self),對(duì)應(yīng)例程即語(yǔ)句:
Student.__init__(self,name)
第二種是通過(guò)super函數(shù),形如 super(child_class, child_object).parent_attribute(arg)。第一個(gè)參數(shù)表示調(diào)用父類的起始處,第二個(gè)參數(shù)表示類實(shí)例(一般使用self),父類方法的參數(shù)只有self時(shí),參數(shù)args不用寫。此外,類內(nèi)部使用時(shí),child_class, child_object也可省略。對(duì)應(yīng)例程:
super(Score,self).__init__(name)
后者
super().__init__(name)
在類外面也可使用super函數(shù),但是要有child_class, child_object兩個(gè)參數(shù)。
上述就是小編為大家分享的python子類可以調(diào)用父類方法嗎了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。