溫馨提示×

溫馨提示×

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

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

python的繼承知識點總結(jié)

發(fā)布時間:2020-10-14 20:16:15 來源:腳本之家 閱讀:152 作者:張金龍java 欄目:開發(fā)技術(shù)

python繼承,python豐富的類因為繼承而變得多姿多彩,如果語言不支持繼承,那么類就沒什么優(yōu)勢。

1、首先我們來定義兩個類

一個dog類,一個bird類class Dog:    def sleeping(self):        print ('dog 正在睡覺')    def speaking(self):        print('汪汪')class Bird:    def flying(self):        print('正在飛')    def speaking(self):        print('嘰嘰嘰')

python的繼承知識點總結(jié)

2、我們先調(diào)用bird類來看看 輸出結(jié)果

實例化對象,然后調(diào)用它的方法

myani=Bird()print(myani.flying(),myani.speaking())

輸出

正在飛

嘰嘰嘰

python的繼承知識點總結(jié)

python的繼承知識點總結(jié)

3、我們定義一個cat類來繼承dog類,看看它的調(diào)用

重寫speaking方法,

class Cat(Dog):  def speaking(self):    print ('喵喵')mycat=Cat()print(mycat.speaking(),mycat.sleeping())

輸出:

喵喵

dog 正在睡覺

可以看出叫聲變了 睡覺沒變,因為我們只重寫了speaking方法

python的繼承知識點總結(jié)

python的繼承知識點總結(jié)

4、我們在定義一個類來繼承 bird類

我們不對 父類重寫,而是進行擴展,子類多了方法sleeping,這也是類的優(yōu)點,可以擴展

class MaoTouYing(Bird):  def sleeping(self):    print('貓頭鷹白天睡覺maotouying =MaoTouYing()print(maotouying.sleeping(),maotouying.speaking(),maotouying.flying())

輸出結(jié)果:

貓頭鷹白天睡覺

嘰嘰嘰

正在飛

(None, None, None)

python的繼承知識點總結(jié)

python的繼承知識點總結(jié)

5、下面我們來定義一個多繼承

如下所示,我們不對字類進行任何擴展,或者重寫,直接讓它繼承父類

class FlyCat(Dog,Bird):  passflycat=FlyCat()print(flycat.flying(),flycat.speaking(),flycat.sleeping())

輸出結(jié)果:

正在飛

汪汪

dog 正在睡覺

(None, None, None)

python的繼承知識點總結(jié)

python的繼承知識點總結(jié)

6、細心的朋友注意到,以上調(diào)用都會輸出 None,那是python默認都有一個返回值,我們的方法都是 print,所以默認返回None

python的繼承知識點總結(jié)

7、當兩個父類中有相同方法時候,調(diào)用繼承的第一個父類中的方法

如步驟5中,父類都有sleeping方法,那么調(diào)用將返回第一個方法,輸出‘dog 正在睡覺'

python的繼承知識點總結(jié)

以上內(nèi)容大家如果有還不明白的可以參考億速云其他關(guān)于python繼承的文章,感謝你的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI