class a(object):
def test(self):
print('aaa')
class b(object):
def test(self):
print('b中的test()方法~~')
def test2(self):
print('bbb')
# 在python中是支援多重繼承的,也就是我們可以為乙個類同時指定多個父類
# 可以在類名的()後邊新增多個類,來實現多重繼承
# 多重繼承,會使子類同時擁有多個父類,並且會獲取到所有父類中的方法
# 在開發中沒有特殊的情況,應該盡量避免使用多重繼承,因為多重繼承會讓我們的**過於複雜
# 如果多個父類中有同名的方法,則會現在第乙個父類中尋找,然後找第二個,然後找第三個。。。
# 前邊父類的方法會覆蓋後邊父類的方法
class c(a,b):
pass
# 類名.__bases__ 這個屬性可以用來獲取當前類的所有父類
# print(c.__bases__) (,)
# print(b.__bases__) (,)
# print(c.__bases__) # (, )
c = c()
c.test()
python 多重繼承
python和c 一樣,支援多繼承。概念雖然容易,但是困難的工作是如果子類呼叫乙個自身沒有定義的屬性,它是按照何種順序去到父類尋找呢,尤其是眾多父類中有多個都包含該同名屬性。對經典類和新式類來說,屬性的查詢順序是不同的。現在我們分別看一下經典類和新式類兩種不同的表現 經典類 usr bin pyth...
Python多重繼承
class printa namea printa def set value self,a self.a a def set namea self,namea printa.namea namea def info self print printa s,s printa.namea,self.a...
python多重繼承
class d object pass class c d pass class b d pass class a b,c pass mro method resolution order 方法解析順序 為了解決多繼承問題 在inspect檔案中 採用aov圖,每次輸出乙個入度為零的點 相當於沒有人...