Python issubclass() 函式



Python issubclass() 函式是一個內建函式,用於驗證給定的類是否為指定類的子類。在面向物件程式設計中,子類是一個擴充套件另一個類(稱為其超類或父類)功能的類。

如果給定的類是指定類的子類,則issubclass()函式返回 True,否則返回 False。請注意,一個類也是它自身的子類。

語法

Python issubclass() 函式的語法如下:

issubclass(object, subclass)

引數

以下是 Python issubclass() 函式的引數:

  • - 此引數指定需要搜尋其屬性的物件。

  • 子類 - 此引數表示類物件,或元組類物件。

返回值

Python issubclass() 函式返回一個布林值(True 或 False)。

issubclass() 函式示例

練習以下示例以瞭解如何在 Python 中使用issubclass() 函式

示例:issubclass() 函式的使用

以下是 Python issubclass() 函式的示例。在這裡,我們建立了一個類及其子類,並嘗試驗證名為“ClassChild”的類是否是子類。

class ClassParent:
   pass

class ClassChild(ClassParent):
   pass

output = issubclass(ClassChild, ClassParent)
print("Is ClassChild is child class of ClassParent:", output) 

執行上述程式後,將生成以下輸出:

Is ClassChild is child class of ClassParent: True

示例:具有多重繼承的 issubclass() 函式

issubclass() 函式也適用於多重繼承。在這裡,我們定義了兩個父類和一個子類。然後,嘗試檢查類“ClassTata”是否是這兩個定義類的子類。

class ClassVehicle:
   pass

class ClassCar:
   pass

class ClassTata(ClassVehicle, ClassCar):
   pass

checkOne = issubclass(ClassTata, ClassVehicle)
checkTwo = issubclass(ClassTata, ClassCar)
print("Is ClassTata is child class of ClassVehicle:", checkOne) 
print("Is ClassTata is child class of ClassCar:", checkTwo)

以下是執行上述程式獲得的輸出:

Is ClassTata is child class of ClassVehicle: True
Is ClassTata is child class of ClassCar: True

示例:使用 issubclass() 函式檢查子類

在 Python 中,所有類(包括“int”)都是“object”類的子類。為了驗證這一事實,我們在下面的示例程式碼中使用了 issubclass() 函式。

res = issubclass(int, object)
print("Is int is subclass of object class:", res)

執行上述程式獲得的輸出如下:

Is int is subclass of object class: True

示例:issubclass() 函式與元組的用法

issubclass() 函式也接受元組形式的引數。在這個例子中,我們傳遞一個類元組來檢查名為“ClassTata”的類是否是指定物件的子類。

class ClassVehicle:
   pass

class ClassCar(ClassVehicle):
   pass

class ClassTata(ClassCar):
   pass

checker = issubclass(ClassTata, (ClassCar, ClassVehicle))
print("Is ClassTata is child class:", checker)

執行上述程式後,顯示以下輸出:

Is ClassTata is child class: True
python_built_in_functions.htm
廣告