在Python中,isinstance()
函數用于檢查一個對象是否是一個已知的類型(class type)或該類型的子類。它接受兩個參數:第一個參數是需要檢查的對象,第二個參數是類型(可以是直接類型或元組中的一個類型)。
isinstance()
函數的限制條件如下:
isinstance()
將檢查第一個參數是否為元組中任何一個類型的實例。isinstance()
函數只能用于檢查新式類(new-style classes)和經典類(old-style classes)的實例。對于其他類型的對象,可能需要使用其他方法進行類型檢查。isinstance()
函數不能用于檢查對象是否為內置類型(如int、float、str等)的實例,因為這些類型通常是由C語言實現的,而不是Python類。但是,你可以使用內置的type()
函數來檢查對象的類型。示例:
class MyClass:
pass
obj = MyClass()
# 檢查obj是否為MyClass的實例
print(isinstance(obj, MyClass)) # 輸出True
# 檢查obj是否為int或float的實例
print(isinstance(obj, (int, float))) # 輸出False
注意:在Python 2中,所有的類都是新式類,但在Python 3中,只有顯式地繼承自object
的類才是新式類。在Python 3中,所有的內置類型都是新式類。