python super用法及原理詳解
這篇文章主要介紹了python super用法及原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
概念
super作為python的內(nèi)建函數(shù)。主要作用如下:
- 允許我們避免使用基類(lèi)
- 跟隨多重繼承來(lái)使用
實(shí)例
在單個(gè)繼承的場(chǎng)景下,一般使用super來(lái)調(diào)用基類(lèi)來(lái)實(shí)現(xiàn):
下面是一個(gè)例子:
class Mammal(object): def __init__(self, mammalName): print(mammalName, 'is a warm-blooded animal.') class Dog(Mammal): def __init__(self): print('Dog has four legs.') super().__init__('Dog') d1 = Dog()
輸出結(jié)果:
➜ super git:(master) ✗ py super_script.py
Dog has four legs.
Dog is a warm-blooded animal.
super在多重繼承里面的使用:
下面是一個(gè)例子:
class Animal: def __init__(self, animalName): print(animalName, 'is an animal.'); class Mammal(Animal): def __init__(self, mammalName): print(mammalName, 'is a warm-blooded animal.') super().__init__(mammalName) class NonWingedMammal(Mammal): def __init__(self, NonWingedMammalName): print(NonWingedMammalName, "can't fly.") super().__init__(NonWingedMammalName) class NonMarineMammal(Mammal): def __init__(self, NonMarineMammalName): print(NonMarineMammalName, "can't swim.") super().__init__(NonMarineMammalName) class Dog(NonMarineMammal, NonWingedMammal): def __init__(self): print('Dog has 4 legs.'); super().__init__('Dog') d = Dog() print('') bat = NonMarineMammal('Bat')
輸出結(jié)果:
➜ super git:(master) ✗ py super_muli.py Dog has 4 legs. Dog can't swim. Dog can't fly. Dog is a warm-blooded animal. Dog is an animal. Bat can't swim. Bat is a warm-blooded animal. Bat is an animal.
參考文檔
https://www.programiz.com/python-programming/methods/built-in/super
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python中super()函數(shù)的理解與基本使用
- 詳解python的super()的作用和原理
- Python類(lèi)的繼承super相關(guān)原理解析
- python super()函數(shù)的基本使用
- Python類(lèi)super()及私有屬性原理解析
- Python super()函數(shù)使用及多重繼承
- Python super()方法原理詳解
- python super函數(shù)使用方法詳解
- python類(lèi)中super() 的使用解析
- 使用 Supervisor 監(jiān)控 Python3 進(jìn)程方式
- Python高級(jí)編程之繼承問(wèn)題詳解(super與mro)
- Python 繼承,重寫(xiě),super()調(diào)用父類(lèi)方法操作示例
- python3中類(lèi)的繼承以及self和super的區(qū)別詳解
- Python中的super()面向?qū)ο缶幊?/a>
相關(guān)文章
python實(shí)現(xiàn)音樂(lè)播放器 python實(shí)現(xiàn)花框音樂(lè)盒子
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)音樂(lè)播放器,實(shí)現(xiàn)花框音樂(lè)盒子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼
大家好,本篇文章主要講的是python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼,昂星期的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2021-12-12PyQt使用QPropertyAnimation開(kāi)發(fā)簡(jiǎn)單動(dòng)畫(huà)
這篇文章主要介紹了PyQt使用QPropertyAnimation開(kāi)發(fā)簡(jiǎn)單動(dòng)畫(huà),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04pygame庫(kù)實(shí)現(xiàn)俄羅斯方塊小游戲
這篇文章主要為大家詳細(xì)介紹了pygame庫(kù)實(shí)現(xiàn)俄羅斯方塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10詳解python數(shù)組中的符號(hào)...與:符號(hào)的不同之處
這篇文章主要介紹了詳解python數(shù)組中的符號(hào)...與:符號(hào)的不同之處,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03通過(guò)pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫(kù)的可視化方式
這篇文章主要介紹了通過(guò)pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫(kù)的可視化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09PyCharm中Matplotlib繪圖不能顯示UI效果的問(wèn)題解決
這篇文章主要介紹了PyCharm中Matplotlib繪圖不能顯示UI效果的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)子彈與碰撞處理篇
相信大多數(shù)8090后都玩過(guò)太空射擊游戲,在過(guò)去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來(lái)自己動(dòng)手實(shí)現(xiàn)它,在編寫(xiě)學(xué)習(xí)中回顧過(guò)往展望未來(lái),下面開(kāi)始講解子彈與碰撞處理,在本課中,我們將添加玩家與敵人之間的碰撞,以及添加供玩家射擊的子彈2022-08-08解析numpy中的iscomplex方法及實(shí)際應(yīng)用
NumPy 的 iscomplex 方法為檢查數(shù)組中的元素是否為復(fù)數(shù)提供了一種高效且易于使用的接口,本文介紹了 iscomplex 方法的基本概念、使用方法以及它在解決實(shí)際問(wèn)題中的應(yīng)用,需要的朋友可以參考下2024-06-06Python腳本在Appium庫(kù)上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試
這篇文章主要介紹了使用Python的Appium庫(kù)對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試的教程,屬于Python腳本的一個(gè)自動(dòng)化應(yīng)用,需要的朋友可以參考下2015-04-04