婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python基礎知識學習之類的繼承

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

熱門標簽:小蘇云呼電話機器人 朝陽手機外呼系統 北京電銷外呼系統加盟 地圖標注面積 北瀚ai電銷機器人官網手機版 所得系統電梯怎樣主板設置外呼 儋州電話機器人 市場上的電銷機器人 佛山400電話辦理

一、繼承的格式

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

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()

炒菜

三、多繼承

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

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

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,并創建共有方法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類的繼承內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python編寫接口測試文檔(以豆瓣搜索為例)
  • Python3接口性能測試實例代碼
  • python面向對象之類的繼承詳解
  • Python正確重載運算符的方法示例詳解
  • python接口,繼承,重載運算符詳解

標簽:定西 云南 龍巖 江蘇 酒泉 寧夏 金融催收 商丘

巨人網絡通訊聲明:本文標題《Python基礎知識學習之類的繼承》,本文關鍵詞  Python,基礎,知識學習,之類,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python基礎知識學習之類的繼承》相關的同類信息!
  • 本頁收集關于Python基礎知識學習之類的繼承的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 平遥县| 梧州市| 永嘉县| 噶尔县| 密山市| 安阳市| 尼玛县| 平顶山市| 安平县| 卓尼县| 尼玛县| 原阳县| 阜阳市| 乌什县| 周口市| 册亨县| 明星| 舟山市| 巫溪县| 台东市| 大方县| 抚松县| 松原市| 石泉县| 大埔县| 泌阳县| 延庆县| 都安| 营山县| 昌吉市| 剑川县| 三门峡市| 剑河县| 榆社县| 克山县| 都安| 曲水县| 曲麻莱县| 襄樊市| 恩平市| 连云港市|