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

在python里面運用多繼承方法詳解

 更新時間:2019年07月01日 14:39:02   作者:燃燒的猛男1  
在本篇文章中小編給各位分享的是關(guān)于在python里面運用多繼承方法以及知識點總結(jié),有興趣的朋友們可以學(xué)習(xí)下。

如何在PYTHON里面運用多繼承

class Father:

  def hobby(self):

    print("love to play video game.")

    

class Mother:

  def cook(self):

    print("love to cook anything.")

 

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

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

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

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

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

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

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


print(Son.__mro__)

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

class AAA(object):

  pass




aaa = AAA()

dir(aaa)

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

class AAA:

  pass




aaa = AAA()

dir(aaa)

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

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只會調(diào)用第一個父類的屬性方法
    #super().__init__(sex) #要想調(diào)用特定父類的構(gòu)造器只能使用父類名.__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
 
 
# ------創(chuàng)建對象 -------------
stu = Student("tom", "male", 88)
print(stu.name,stu.sex,stu.grade)
stu.p() # 雖然父類Human和Person都有同名P()方法 ,但是調(diào)用的是括號里的第一個父類Human的方法
 
 
son1 = Son("jerry", "female", 18, "打球")
son1.person() # 可以調(diào)用父類的父類的方法。
son1.p() # 子類調(diào)用眾多父類中同名的方法,按繼承的順序查找。
=====================================================================================
tom male 88
這是Human的方法
這是我person特有的方法
這是Human的方法

以上就是關(guān)于Python里多繼承的知識點總結(jié),感謝大家的閱讀和對腳本之家的支持。

相關(guān)文章

  • python中圖形庫turtle庫詳解(適用于計算機二級)

    python中圖形庫turtle庫詳解(適用于計算機二級)

    Turtle庫是Python語言中的一個圖形庫,可以用來繪制各種形狀,如線條、矩形、圓形等等,下面這篇文章主要給大家介紹了關(guān)于python中圖形庫turtle庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • python開發(fā)中range()函數(shù)用法實例分析

    python開發(fā)中range()函數(shù)用法實例分析

    這篇文章主要介紹了python開發(fā)中range()函數(shù)用法,以實例形式較為詳細的分析了Python中range()函數(shù)遍歷列表的相關(guān)技巧,需要的朋友可以參考下
    2015-11-11
  • Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟

    Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟

    這篇文章主要介紹了Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟,本文分步驟給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Python Flask-Login實現(xiàn)用戶會話管理

    Python Flask-Login實現(xiàn)用戶會話管理

    這篇文章主要介紹了Python Flask-Login實現(xiàn)用戶會話管理過程,F(xiàn)lask-Login為Flask提供用戶會話管理。它處理登錄、注銷和長時間記住用戶會話等常見任務(wù)
    2022-12-12
  • Python?計算機視覺編程進階之OpenCV?圖像銳化及邊緣檢測

    Python?計算機視覺編程進階之OpenCV?圖像銳化及邊緣檢測

    計算機視覺這種技術(shù)可以將靜止圖像或視頻數(shù)據(jù)轉(zhuǎn)換為一種決策或新的表示。所有這樣的轉(zhuǎn)換都是為了完成某種特定的目的而進行的,本篇我們來學(xué)習(xí)下如何對圖像進行銳化處理以及如何進行邊緣檢測
    2021-11-11
  • Python之字典添加元素的幾種方法

    Python之字典添加元素的幾種方法

    這篇文章主要介紹了Python之字典添加元素的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python跳出循環(huán)語句continue與break的區(qū)別

    Python跳出循環(huán)語句continue與break的區(qū)別

    這篇文章主要介紹了Python跳出循環(huán)語句continue與break的區(qū)別,本文用實例來說明它們之間的區(qū)別,簡單易記易懂,需要的朋友可以參考下
    2014-08-08
  • python3使用mutagen進行音頻元數(shù)據(jù)處理的方法

    python3使用mutagen進行音頻元數(shù)據(jù)處理的方法

    mutagen是一個處理音頻元數(shù)據(jù)的python模塊,支持多種音頻格式,是一個純粹的python庫,僅依賴python標(biāo)準(zhǔn)庫,可在Python?3.7及以上版本運行,支持Linux、Windows?和?macOS系統(tǒng),這篇文章主要介紹了python3使用mutagen進行音頻元數(shù)據(jù)處理,需要的朋友可以參考下
    2022-10-10
  • Python實現(xiàn) 版本號對比功能的實例代碼

    Python實現(xiàn) 版本號對比功能的實例代碼

    這篇文章主要介紹了 Python實現(xiàn) 版本號對比功能的實例代碼,文末給大家補充介紹了python 比較兩個版本號大小 ,需要的朋友可以參考下
    2019-04-04
  • 關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解

    關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解

    今天小編就為大家分享一篇關(guān)于Python核心框架tornado的異步協(xié)程的2種方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論