python issubclass 和 isinstance函數
阿新 • • 發佈:2018-07-19
返回值 相同 直接 bin instance ins bject 基本 lis
Python issubclass() 函數
issubclass() 方法用於判斷參數 class 是否是類型參數 classinfo 的子類。 語法: issubclass(class, classinfo) 參數 class -- 類。 classinfo -- 類。 返回值 如果 class 是 classinfo 的子類返回 True,否則返回 False。 例子: #!/usr/bin/python # -*- coding: UTF-8 -*- class A: pass class B(A): pass print(issubclass(B,A)) # 返回 True
Python isinstance() 函數
isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。 isinstance() 與 type() 區別: type() 不會認為子類是一種父類類型,不考慮繼承關系。 isinstance() 會認為子類是一種父類類型,考慮繼承關系。 如果要判斷兩個類型是否相同推薦使用 isinstance()。 語法: isinstance(object, classinfo) 參數 object -- 實例對象。 classinfo -- 可以是直接或間接類名、基本類型或者由它們組成的元組。 返回值 如果對象的類型與參數二的類型(classinfo)相同則返回 True,否則返回 False。 例子: >>>a = 2 >>> isinstance (a,int) True >>> isinstance (a,str) False >>> isinstance (a,(str,int,list)) # 是元組中的一個返回 True True type() 與 isinstance()區別: class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False
python issubclass 和 isinstance函數