中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何在python中運用多繼承方法

發布時間:2021-05-22 16:09:02 來源:億速云 閱讀:169 作者:Leah 欄目:開發技術

本篇文章為大家展示了如何在python中運用多繼承方法,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

如何在PYTHON里面運用多繼承

class Father:

  def hobby(self):

    print("love to play video game.")

    

class Mother:

  def cook(self):

    print("love to cook anything.")

#比如說有兩個類,如果想要一個子類同時繼承這兩個類,應該怎么操作呢。

如何在python中運用多繼承方法

class Father:

  def hobby(self):

    print("love to play video game.")

    

class Mother:

  def cook(self):

    print("love to cook anything.")

    

class Son(Father, Mother):

  pass




son = Son()

son.hobby()

son.cook()

#只要在子類名稱的后面加入兩個父類,就可以進行多繼承了。

如何在python中運用多繼承方法

class Father:

  def hobby(self):

    print("love to play video game.")

  def cook(self):

    print("love to cook anything.")    

class Mother:

  def cook(self):

    print("love to cook anything.")

  def hobby(self):

    print("love to play video game.")

    

class Son(Father, Mother):

  pass




son = Son()

son.hobby()

son.cook()

#但是如果子類繼承的時候,發現兩個父類的方法都是一模一樣的,那就沒法同時繼承兩人的了。

如何在python中運用多繼承方法

class Father:

  def hobby(self):

    print("love to play video game.")

  def cook(self):

    print("love to cook anything.")    

class Mother:

  def cook(self):

    print("love to cook anything.")

  def hobby(self):

    print("love to play video game.")

    

class Son(Mother, Father):

  pass




son = Son()

son.hobby()

son.cook()

#即使我們把位置調換了一下也是比較難看出究竟繼承了誰。

如何在python中運用多繼承方法

print(Son.__mro__)

#實際上我們可以用mro來查看順序,首先是子類,然后是母親,接著是父親,這是根據書寫順序的,最后就是object了。

如何在python中運用多繼承方法

class AAA(object):

  pass




aaa = AAA()

dir(aaa)

#我們可以查看object類里面有什么方法。

如何在python中運用多繼承方法

class AAA:

  pass




aaa = AAA()

dir(aaa)

#如果沒有基類,一般還是要在后面加上object,這里PYTHON3,所以有加和沒加沒有區別,但還是建議要加上。

如何在python中運用多繼承方法

Python多繼承實例擴展:

多繼承的使用

#1.多繼承:子類有多個父類
 
class Human:
  def __init__(self, sex):
    self.sex = sex
 
  def p(self):
    print("這是Human的方法")
 
 
class Person:
  def __init__(self, name):
    self.name = name
 
  def p(self):
    print("這是Person的方法")
 
  def person(self):
    print("這是我person特有的方法")
 
 
class Teacher(Person):
  def __init__(self, name, age):
    super().__init__(name)
    self.age = age
 
 
class Student(Human, Person):
  def __init__(self, name, sex, grade):
    #super().__init__(name) #注意:對于多繼承來說,使用super只會調用第一個父類的屬性方法
    #super().__init__(sex) #要想調用特定父類的構造器只能使用父類名.__init__方式。如下:
 
    Human.__init__(self,sex)
    Person.__init__(self,name)
    self.grade = grade
 
 
class Son(Human, Teacher):
  def __init__(self, sex, name, age, fan):
    Human.__init__(self, sex)
    Teacher.__init__(self, name, age)
    self.fan = fan
 
 
# ------創建對象 -------------
stu = Student("tom", "male", 88)
print(stu.name,stu.sex,stu.grade)
stu.p() # 雖然父類Human和Person都有同名P()方法 ,但是調用的是括號里的第一個父類Human的方法
 
 
son1 = Son("jerry", "female", 18, "打球")
son1.person() # 可以調用父類的父類的方法。
son1.p() # 子類調用眾多父類中同名的方法,按繼承的順序查找。
=====================================================================================
tom male 88
這是Human的方法
這是我person特有的方法
這是Human的方法

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。

上述內容就是如何在python中運用多繼承方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

绍兴市| 长阳| 安达市| 广灵县| 永年县| 滦平县| 农安县| 秀山| 衡南县| 建湖县| 隆林| 建平县| 瑞丽市| 肃南| 池州市| 赤城县| 德安县| 湟中县| 建宁县| 遵义市| 门头沟区| 新田县| 会泽县| 特克斯县| 大同县| 清徐县| 根河市| 高碑店市| 阿拉善左旗| 湖口县| 祁门县| 土默特右旗| 明溪县| 甘泉县| 石棉县| 凤台县| 佛坪县| 泉州市| 西安市| 开封县| 鲁甸县|