欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基礎知識學習之類的繼承

 更新時間:2021年05月31日 16:14:00   作者:von Libniz  
今天帶大家學習Python的基礎知識,文中對python類的繼承作了非常詳細的介紹,對正在學習python基礎的小伙伴們很有幫助,需要的朋友可以參考下

一、繼承的格式

類的繼承格式如下,括號中的為父類名。

class 類名(父類名):
 代碼

二、單繼承

下面我們讓Man繼承自Master類,并調用繼承的showSkill方法。

class Master():
    def __init__(self):
        self.skill='炒菜'
    def showSkill(self):
        print(self.skill)

class Man(Master):
    pass

man=Man()
man.showSkill()

炒菜

三、多繼承

我們可以在括號中寫入多個父類,并用逗號隔開,就可以表示多繼承。
需要注意的是,如果父類中有同名的方法或屬性被子類繼承,子類優(yōu)先繼承第一個父類的方法。

'''
測試python多繼承
多繼承時,若父類有同名的屬性或方法,則優(yōu)先繼承先繼承的父類
'''

class Master():
    def __init__(self):
        self.skill='炒菜'
    def showSkill(self):
        print(self.skill)

class Bagger():
    def __init__(self):
        self.skill='乞討'
    def showSkill(self):
        print(self.skill)

class Man(Master,Bagger):
    pass

man=Man()
man.showSkill()

炒菜

四、重寫父類方法

python中重寫父類方法不需要override等任何的關鍵字,直接把原來的方法重寫一遍就好。

class Master():
    def __init__(self):
        self.skill='炒菜'
        print("Master初始化完畢")
    def showSkill(self):
        print(self.skill)

class Bagger():
    def __init__(self):
        self.skill='乞討'
        print("Bagger初始化完畢")
    def showSkill(self):
        print(self.skill)

#重寫父類的方法
class Man(Master,Bagger):
    #重寫__init__方法時,并不會調用父類的__init方法
    def __init__(self):
        #重寫父類的屬性skill
        self.skill='飛天'
    def showSkill(self):
        print("我的技能是:"+self.skill)

man=Man()
man.showSkill()

我的技能是:飛天

五、打印繼承關系

通過__mro__()方法我們可以得到當前類繼承的所有類。

class Master():
    def __init__(self):
        self.skill='炒菜'
    def showSkill(self):
        print(self.skill)

class Bagger(Master):
    pass

class Man(Bagger):
    pass

man=Man()
print(Man.__mro__)

六、調用父類方法

我們可以通過super().方法名,來調用父類中的 方法,哪怕該方法在子類中被重寫了。

class Master():
    def __init__(self):
        self.skill='炒菜'
    def showSkill(self):
        print(self.skill)

class Man(Master):
    def __init__(self):
        self.skill='吃飯'
    def showSkill(self):
        print(self.skill)
        super().__init__()
        super().showSkill()

man=Man()
man.showSkill()

吃飯
炒菜

七、私有屬性與方法

我們可以在方法或屬性名前加上 __ 來表示私有,在類的繼承中,只有父類的私有方法無法被繼承,其他屬性與方法都將被繼承,但私有屬性不能在子類中直接訪問,但我們可以同過繼承的父類公有方法來對其訪問。
下面我們定義私有屬性money,并創(chuàng)建共有方法set_money與get_money從子類中對其進行訪問。

class Master():
    #在屬性或方法面前加__,表示訪問權限為私有
    __money=100000
    def __init__(self):
        pass
    #設置為私有方法,無法被繼承
    def __showMoney(self):
        print(self.__money)
    #使子類可以通過共有方法訪問私有屬性
    def get_money(self):
        return self.__money
    def set_money(self,money):
        self.__money=money

class Man(Master):
    pass

man=Man()
print("原來的money:"+man.get_money().__str__())
man.set_money(12)
print("后來的money:"+man.get_money().__str__())

原來的money:100000
后來的money:12

到此這篇關于Python基礎知識學習之類的繼承的文章就介紹到這了,更多相關python類的繼承內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python將多個文本文件合并為一個文本的代碼(便于搜索)

    python將多個文本文件合并為一個文本的代碼(便于搜索)

    源代碼目錄一般很詳細,每個代碼文件都不長,一般只占幾十行而已。在跟著書籍學習的過程中,可以打開源代碼運行之后查看效果,或者適當修改看看變化,這都是很好的掌握技術的好辦法。
    2011-03-03
  • python鏈接sqlite數據庫的詳細代碼實例

    python鏈接sqlite數據庫的詳細代碼實例

    SQLite數據庫是一款非常小巧的嵌入式開源數據庫軟件,也就是說沒有獨立的維護進程,所有的維護都來自于程序本身,它是遵守ACID的關聯式數據庫管理系統(tǒng),它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低
    2021-09-09
  • Python二分法搜索算法實例分析

    Python二分法搜索算法實例分析

    這篇文章主要介紹了Python二分法搜索算法,實例分析了Python實現二分法的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • python html2text庫將HTML文檔轉換為純文本格式使用示例探索

    python html2text庫將HTML文檔轉換為純文本格式使用示例探索

    這篇文章主要為大家介紹了python html2text庫將HTML文檔轉換為純文本格式使用示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python神經網絡tfrecords文件的寫入讀取及內容解析

    python神經網絡tfrecords文件的寫入讀取及內容解析

    這篇文章主要為大家介紹了python神經網絡tfrecords文件的寫入讀取及內容解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python+ChatGPT實戰(zhàn)之進行游戲運營數據分析

    Python+ChatGPT實戰(zhàn)之進行游戲運營數據分析

    最近ChatGPT蠻火的,今天試著讓ta用Python語言寫了一篇數據分析實戰(zhàn)案例。文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-02-02
  • python+appium自動化測試之如何控制App的啟動和退出

    python+appium自動化測試之如何控制App的啟動和退出

    本文主要介紹了python+appium自動化測試之如何控制App的啟動和退出,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 關于Tensorflow 模型持久化詳解

    關于Tensorflow 模型持久化詳解

    今天小編就為大家分享一篇關于Tensorflow 模型持久化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python教程之pytest命令行方式運行用例

    Python教程之pytest命令行方式運行用例

    pytest有豐富的命令行選項,以滿足不同的需要,下面這篇文章主要給大家介紹了關于Python教程之pytest命令行方式運行的相關資料,需要的朋友可以參考下
    2021-12-12
  • 一文詳解Python中subprocess模塊的用法

    一文詳解Python中subprocess模塊的用法

    Python的subprocess模塊是一個非常強大的工具,用于啟動和與外部進程進行交互,本文將為大家詳細介紹?subprocess模塊的各個方面,希望對大家有所幫助
    2023-11-11

最新評論