isinstance()函數(shù)檢查對(duì)象(第一個(gè)參數(shù))是否是classinfo類(lèi)(第二個(gè)參數(shù))的實(shí)例或子類(lèi)。
isinstance()的語(yǔ)法為:
isinstance(object, classinfo)
isinstance()具有兩個(gè)參數(shù):
object- object待檢查
classinfo -類(lèi),類(lèi)型或元組
isinstance()返回:
True如果object是類(lèi)的實(shí)例或子類(lèi),或元組的任何元素
False 除此以外
如果classinfo不是類(lèi)型或元組類(lèi)型,則會(huì)引發(fā)TypeError異常。
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
運(yùn)行該程序時(shí),輸出為:
True False True
numbers = [1, 2, 3] result = isinstance(numbers, list) print(numbers,'是 list 實(shí)例?', result) result = isinstance(numbers, dict) print(numbers,'是 dict 實(shí)例?', result) result = isinstance(numbers, (dict, list)) print(numbers,'是 dict 或 list 實(shí)例?', result) number = 5 result = isinstance(number, list) print(number,'是 list 實(shí)例?', result) result = isinstance(number, int) print(number,'是 int 實(shí)例?', result)
運(yùn)行該程序時(shí),輸出為:
[1, 2, 3] 是 list 實(shí)例? True [1, 2, 3] 是 dict 實(shí)例? False [1, 2, 3] 是 dict 或 list 實(shí)例? True 5 是 list 實(shí)例? False 5 是 int 實(shí)例? True