1.issubclass确定子類與基類
issubclass用來判斷一個類是否是另一個類的子類
issubclass(class1,class2) #class1是子類 class2是基類
傳回True or False
2._bases_通路其基類
3.isinstance判斷對象是否是類的執行個體
s = class1()
isinstance(s,class1)
True
isinstance(s,class2)
True
我們可以看到,isinstance并不是一個好的選擇,判斷認為s也是基類的執行個體,
一般要獲悉對象屬于的類,可用屬性 _ _ class _ _ (s._ _ class _ _)
也可使用type(s)
4.hasattr 與getattr setattr 檢查執行個體是否包含特定屬性
hasattr(s,'shuxing1')
True
hasattr(s,'shuxing2')
False
callable(getattr(s,'shuxing1',None))
True
setattr(s,'shuxing2','hhhhhhhhh')
hasattr傳回True or False
getattr在判斷不存在後傳回指定值
setattr在判斷不存在後設定屬性