python裡為什麼要使用isinstance函式
阿新 • • 發佈:2019-02-13
當我們使用python的內建的資料型別:整數、列表或字典時,很方便就可以使用type函式來判斷型別。如果使用到自定義的類,以及類例項是否就可以呢?其實所有自定義的類都是一個型別,沒有辦法區別,所以需要使用isinstance函式來判斷類例項變數屬於哪一個類產生的。
# File: builtin-isinstance-example-1.py class A: pass class B: pass class C(A): pass class D(A, B): pass def dump(object): print(object, "=>",) if isinstance(object, A): print( "A",) if isinstance(object, B): print( "B",) if isinstance(object, C): print( "C",) if isinstance(object, D): print( "D",) print a = A() b = B() c = C() d = D() dump(a) dump(b) dump(c) dump(d) dump(0) dump("string")
輸出結果如下:
= RESTART: D:/work/csdn/python_Game1/example/builtin-isinstance-example-1.py =
<__main__.A object at 0x0000023F4DD724A8> =>
A
<__main__.B object at 0x0000023F4DDB9780> =>
B
<__main__.C object at 0x0000023F4DDB9C18> =>
A
C
<__main__.D object at 0x0000023F4DDB9C50> =>
A
B
D
0 =>
string =>
>>>