1. 程式人生 > >python裡為什麼要使用isinstance函式

python裡為什麼要使用isinstance函式

當我們使用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 =>
>>> 

Python遊戲開發入門

你也能動手修改C編譯器

紙牌遊戲開發

五子棋遊戲開發