Python issubclass()函數(shù)

版本

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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容