1. 程式人生 > >少說話多寫程式碼之Python學習043——類05(檢查繼承關係)

少說話多寫程式碼之Python學習043——類05(檢查繼承關係)

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