本文和大家分享的主要是python
中isinstance
函數(shù)相關(guān)內(nèi)容,一起來看看吧,希望對大家
學(xué)習(xí)python有所幫助。
當(dāng)我們使用python
的內(nèi)置的數(shù)據(jù)類型
:
整數(shù)、列表或字典時(shí),很方便就可以使用
type
函數(shù)來判斷類型。如果使用到自定義的類,以及類實(shí)例是否就可以呢?其實(shí)所有自定義的類都是一個(gè)類型,沒有辦法區(qū)別,所以需要使用
isinstance
函數(shù)來判斷類實(shí)例變量屬于哪一個(gè)類產(chǎn)生的。
# 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")
輸出結(jié)果如下:
= 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 =>
>>>
來源:
大坡3D
軟件開發(fā)