python的type和isinstance的區別

cjl0503發表於2020-11-30

繼承上的區別:
isinstance()會認為子類是一種父類型別,考慮繼承關係。
type()不會認為子類是一種父類型別,不考慮繼承關係。

在這裡插入圖片描述
建立一個物件A,再建立一個繼承A物件的B物件,使用isinstance()和type()來比較A()和A,它們型別一致,因此都返回True;而B物件繼承於A物件,使用isinstance()比較B()和A時返回True;使用type()比較B()和A時,不會考慮B()繼承自哪裡,因此返回False。
我們在平時使用時,要是隻就某一個或一行引數判斷其型別,兩種方式均可。
在這裡插入圖片描述
在這裡插入圖片描述

相關文章