版本
E:\Projects\testTool>python --version
Python 3.6.2
定義
先看一下官網(wǎng)如何定義:
issubclass(class, classinfo):
Return true if class is a subclass(direct, indirect or virtual) of classinfo. A class is considerd a subclass of itself. classinfo may be a tuple of class objects, in which case every entry in classinfo will be checked. In any other case, a TypeErroe exception is raised.
大致翻譯一下:
如果class參數(shù)是classinfo參數(shù)的直接或間接或虛擬子類,函數(shù)返回True。類是自己本身的子類。classinfo參數(shù)可以是一個(gè)包含多個(gè)類的元組,元組里的所有元素都將被檢查一遍。如果class參數(shù)不是類,或classinfo元組中沒有包含類,函數(shù)都會(huì)拋出TypeError錯(cuò)誤。
總結(jié)一下:
issubclass()方法用于判斷參數(shù)class是否是類型參數(shù)classinfo的子類。
示例
1.class參數(shù)是classinfo的子類
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> class C(A):
... pass
...
>>> issubclass(B, A)
True
>>> issubclass(C, A)
True
>>> issubclass(C, B)
False
2.class參數(shù)是classinfo的子類,并且classinfo是元組
返回True:
>>> issubclass(C, (A, object))
True
>>> issubclass(C, (A, int, object))
True
返回Error:
>>> issubclass(C, (int, str))
False
>>> issubclass(C, (int, str, type))
False
拋出TypeError錯(cuò)誤:
>>> issubclass(C, (1, A))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: issubclass() arg 2 must be a class or tuple of classes