少說話多寫程式碼之Python學習043——類05(檢查繼承關係)
阿新 • • 發佈:2018-11-20
Python中還可以檢查類的繼承的關係。
比如,如下兩個類,PrimaryBaLinghouStudent繼承了BaLinghouStudent。
class BaLinghouStudent: name='學生' school='學校' def init(self,n,s): self.name=n self.school=s def goSchool(self): print('%s 去 %s 上學啦!' %(self.name,self.school) ) def doWork(self): print('%s寫生字' %self.name) class PrimaryBaLinghouStudent(BaLinghouStudent): def doWork(self): print('%s造句' %self.name)
issubclass函式可以檢視一個類是否是另一個類的子類,
print(issubclass(PrimaryBaLinghouStudent,BaLinghouStudent))
print(issubclass(BaLinghouStudent,PrimaryBaLinghouStudent))
輸出
True
False
__bases__函式可以檢視一個類的父類,
print(BaLinghouStudent.__bases__)
print(PrimaryBaLinghouStudent.__bases__)
輸出
(<class 'object'>,) (<class '__main__.BaLinghouStudent'>,)
isinstance是針對例項的,檢視這個例項是否是一個類的物件。
baling = BaLinghouStudent()
priBaling = PrimaryBaLinghouStudent()
print(isinstance(baling,BaLinghouStudent))
print(isinstance(priBaling,BaLinghouStudent))
print(isinstance(baling,PrimaryBaLinghouStudent))
輸出
True
True
False
工程檔案下載:https://download.csdn.net/download/yysyangyangyangshan/10790181