python的繼承知識(shí)點(diǎn)總結(jié)
python繼承,python豐富的類因?yàn)槔^承而變得多姿多彩,如果語言不支持繼承,那么類就沒什么優(yōu)勢(shì)。
1、首先我們來定義兩個(gè)類
一個(gè)dog類,一個(gè)bird類class Dog: def sleeping(self): print ('dog 正在睡覺') def speaking(self): print('汪汪')class Bird: def flying(self): print('正在飛') def speaking(self): print('嘰嘰嘰')
2、我們先調(diào)用bird類來看看 輸出結(jié)果
實(shí)例化對(duì)象,然后調(diào)用它的方法
myani=Bird()print(myani.flying(),myani.speaking()) 輸出 正在飛 嘰嘰嘰
3、我們定義一個(gè)cat類來繼承dog類,看看它的調(diào)用
重寫speaking方法,
class Cat(Dog): def speaking(self): print ('喵喵')mycat=Cat()print(mycat.speaking(),mycat.sleeping())
輸出:
喵喵
dog 正在睡覺
可以看出叫聲變了 睡覺沒變,因?yàn)槲覀冎恢貙懥藄peaking方法
4、我們?cè)诙x一個(gè)類來繼承 bird類
我們不對(duì) 父類重寫,而是進(jìn)行擴(kuò)展,子類多了方法sleeping,這也是類的優(yōu)點(diǎn),可以擴(kuò)展
class MaoTouYing(Bird): def sleeping(self): print('貓頭鷹白天睡覺maotouying =MaoTouYing()print(maotouying.sleeping(),maotouying.speaking(),maotouying.flying())
輸出結(jié)果:
貓頭鷹白天睡覺
嘰嘰嘰
正在飛
(None, None, None)
5、下面我們來定義一個(gè)多繼承
如下所示,我們不對(duì)字類進(jìn)行任何擴(kuò)展,或者重寫,直接讓它繼承父類
class FlyCat(Dog,Bird): passflycat=FlyCat()print(flycat.flying(),flycat.speaking(),flycat.sleeping())
輸出結(jié)果:
正在飛
汪汪
dog 正在睡覺
(None, None, None)
6、細(xì)心的朋友注意到,以上調(diào)用都會(huì)輸出 None,那是python默認(rèn)都有一個(gè)返回值,我們的方法都是 print,所以默認(rèn)返回None
7、當(dāng)兩個(gè)父類中有相同方法時(shí)候,調(diào)用繼承的第一個(gè)父類中的方法
如步驟5中,父類都有sleeping方法,那么調(diào)用將返回第一個(gè)方法,輸出‘dog 正在睡覺'
以上內(nèi)容大家如果有還不明白的可以參考腳本之家其他關(guān)于python繼承的文章,感謝你的支持。
相關(guān)文章
Python pexpect模塊及shell腳本except原理解析
這篇文章主要介紹了Python pexpect模塊及shell腳本except原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08python 疊加等邊三角形的繪制的實(shí)現(xiàn)
這篇文章主要介紹了python 疊加等邊三角形的繪制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python獲取全國(guó)城市pm2.5、臭氧等空氣質(zhì)量過程解析
這篇文章主要介紹了python獲取全國(guó)城市pm2.5、臭氧等空氣質(zhì)量過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python實(shí)現(xiàn)異常值自動(dòng)檢測(cè)的案例分享
在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)中,異常值的檢測(cè)是一個(gè)關(guān)鍵步驟,它有助于識(shí)別數(shù)據(jù)中的異常模式和離群點(diǎn),本文將介紹Python中異常值檢測(cè)的實(shí)戰(zhàn)案例,使用一些常見的技術(shù)和庫,為大家提供全面的示例代碼和詳細(xì)解釋2024-01-01已安裝Pytorch卻提示no?moudle?named?'torch'(沒有名稱為torch
這篇文章主要給大家介紹了關(guān)于已安裝Pytorch卻提示no?moudle?named?'torch'(沒有名稱為torch的模塊)的相關(guān)資料,當(dāng)提示"No module named 'torch'"時(shí),可能是由于安裝的Pytorch版本與當(dāng)前環(huán)境不匹配導(dǎo)致的,需要的朋友可以參考下2023-11-11python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解
這篇文章主要介紹了python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例
在學(xué)習(xí)人工智能時(shí),大量的使用了np.random.seed(),利用隨機(jī)數(shù)種子,使得每次生成的隨機(jī)數(shù)相同,下面這篇文章主要給大家介紹了關(guān)于Python?numpy中np.random.seed()的詳細(xì)用法,需要的朋友可以參考下2022-08-08python調(diào)用java的Webservice示例
這篇文章主要介紹了python調(diào)用java的Webservice具體方法,包含java端和python實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-03-03