溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python子類可以調(diào)用父類方法嗎

發(fā)布時(shí)間:2020-09-21 10:13:59 來(lái)源:億速云 閱讀:333 作者:Leah 欄目:編程語(yǔ)言

這期內(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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI