isinstance()函數是python內置函數,用來判斷一個對象是否是一個已知的類型,類似type()。
語法
isinstance(object, classinfo)
參數
object——實例對象
classinfo——可以是直接或間接類名、基本類型或者由他們組成的元組。
返回值
如果對象類型與參數二的類型(classinfo)相同則返回True,否則返回Fals。
實例:
>>> a = 2 >>> isinstance(a, int) True >>> isinstance(a, str) False >>> isinstance(a, (int, str, bool)) True >>>
isinstance()與type()的區別
isinstance() 會認為子類是一種父類類型,考慮繼承關系。
type() 不會認為子類是一種父類類型,不考慮繼承關系。
如果要考慮兩個類型是否相同,推薦使用isinstance()。
實例:
>>> class A: pass >>> class B(A): pass >>> isinstance(A(), A) True >>> type(A()) == A True >>> isinstance(B(), A) True >>> type(B()) == A False >>>