終於介紹完了__init__方法和__new__方法,接下來輕松一下,本節介紹類中內置的__bases__屬性。
一、 語法釋義
Python 為所有類都提供了一個 bases 屬性,通過該屬性可以查看該類的所有直接父類,該屬性返回所有直接父類組成的元組。注意是直接父類!!!
使用語法:類名.bases
二、 舉例說明
舉例:定義三個類Vehicle(車)、Automobile(汽車)、Car(小汽車),為了說明問題,將Car設置為繼承自Vehicle和Automobile兩個類,而Automobile繼承Vehicle。類定義如下:
class Vehicle():
def __init__(self,wheelcount):
self.wheelcount = wheelcount
class Automobile(Vehicle):
def __init__(self,wheelcount,power):
self.power,self.totaldistance = '燃油發動機',0
super().__init__(wheelcount)
class Car(Automobile,Vehicle):
def __init__(self,wheelcount, power,oilcostperkm):
self.oilcostperkm = oilcostperkm
super().__init__(wheelcount, power)
我們來查看這三個類的__bases__,得出結論如下:
- Car.的直接父類是Automobile、Vehicle;
- Automobile的直接父類是Vehicle;
- Automobile的直接父類是object。
具體執行截屏如下:
注意:在類的實例是沒有__bases__屬性的。如下訪問報錯:
老猿Python系列文章用於逐步介紹老猿學習Python后總結的學習經驗,這些經驗有助於沒有接觸過Python的程序員可以很容易地進入Python的世界。
歡迎大家批評指正,謝謝大家關注!