isinstance(object, classinfo)
判斷實(shí)例是否是這個(gè)類或者object
object是變量
classinfo 是類型(tuple,dict,int,float)
判斷變量是否是這個(gè)類型
class objA:
pass
A = objA()
B = 'a','v'
C = 'a string'
print isinstance(A, objA)
print isinstance(B, tuple)
print isinstance(C, basestring)
輸出結(jié)果:
True
True
True
不僅如此,還可以利用isinstance函數(shù),來(lái)判斷一個(gè)對(duì)象是否是一個(gè)已知的類型。
isinstance說(shuō)明如下:
isinstance(object, class-or-type-or-tuple) -> bool
Return whether an object is an instance of a class or of a subclass thereof.
With a type as second argument, return whether that is the object's type.
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for
isinstance(x, A) or isinstance(x, B) or ... (etc.).
其第一個(gè)參數(shù)為對(duì)象,第二個(gè)為類型名或類型名的一個(gè)列表。其返回值為布爾型。若對(duì)象的類型與參數(shù)二的類型相同則返回True。若參數(shù)二為一個(gè)元組,則若對(duì)象類型與元組中類型名之一相同即返回True。
>>>isinstance(lst, list)
True
>>>isinstance(lst, (int, str, list) )
True
另外:Python可以得到一個(gè)對(duì)象的類型 ,利用type函數(shù):>>>lst = [1, 2, 3]>>>type(lst)<type 'list'>