如果函數的第一個參數是第二個參數的子類,則isinstance()
函數返回 true。實際上,我們可以說這個函數是用來檢查給定的類是否是另一個類的子類。
**issubclass(class, classinfo) ** #where class specify the class name
字節()參數:
取 2 個參數。我們還可以傳遞一個類元組作為 classinfo 參數,在這種情況下,如果類是元組中任何類的子類,函數將返回 True。
參數 | 描述 | 必需/可選 |
---|---|---|
班級 | 要檢查的類別 | 需要 |
分類(classify) | 類、類型或類和類型的元組 | 需要 |
字節()返回值
它返回真或假的布爾值。
| 投入 | 返回值 | | 類是子類 | 真實的 | | 類不是子類 | 錯誤的 | | 在任何其他情況下 | TypeError exception |
Python 中issubclass()
方法的示例
示例issubclass()
是如何工作的?
class Polygon:
def __init__(polygonType):
print('Polygon is a ', polygonType)
class Triangle(Polygon):
def __init__(self):
Polygon.__init__('triangle')
print(issubclass(Triangle, Polygon))
print(issubclass(Triangle, list))
print(issubclass(Triangle, (list, Polygon)))
print(issubclass(Polygon, (list, Polygon)))
輸出:
True
False
True
True
示例 2:檢查內置類的子類
print('bool is the subclass of int: ', issubclass(bool, int))
print('float is the subclass of int: ', issubclass(float, int))
print('str is the subclass of list: ', issubclass(str, list))
import collections
print('collections.OrderedDict is the subclass of dict: ', issubclass(collections.OrderedDict, dict))
輸出:
bool is the subclass of int: True
float is the subclass of int: False
str is vsubclass of list: False
collections.OrderedDict is the subclass of dict: True
示例 3: issubclass()
方法使用一個元組來指定多個 classinfo 名稱
print(issubclass(bool, (int, str, list)))
print(issubclass(float, (int, str, list))
輸出:
True
False