1. 程式人生 > >Python中使用isinstance()判斷變數型別

Python中使用isinstance()判斷變數型別

isinstance()

在Python中可以使用type()與isinstance()這兩個函式判斷物件型別,而isinstance()函式的使用上比type更加方便。

# coding=utf-8

a = 10

def b():
    pass

print isinstance(a,(int,str))
print isinstance(a,(float,str))
print isinstance(b,(str,int))

class c:
    pass

obj = c()

print isinstance(obj,(c,int))

執行結果:

True
False
False True

isinstance 和 type的區別

isinstance 和 type的區別在於:

class A:
    pass
class B(A):
    pass
isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

區別就是 對於subclass之類的 type就不行了,所以,強烈建議不要使用type判斷物件型別。