Python issubclass()
时间:2020-02-23 14:42:51 来源:igfitidea点击:
Python的issubclass()函数用于检查一个类是否为另一个类的子类。
Python issubclass()
Python的issubclass()函数语法为:
issubclass(class, classinfo)
如果class是classinfo的子类,则此函数返回True。
类被认为是其自身的子类。
我们还可以传递一个类的元组作为classinfo参数,在这种情况下,如果class是该元组中任何类的子类,则函数将返回True。
由于object是Python的基类,因此如果classinfo作为object类传递,则函数将返回True。
Python issubclass()示例
让我们为示例定义一些类和子类。
class Super: pass class Child(Super): pass class GrandChild(Child): pass
现在,我们来看一下带有不同参数的issubclass()函数的输出。
print(issubclass(Child, Super)) # 1st level inheritance print(issubclass(GrandChild, Super)) # multilevel inheritance print(issubclass(Child, Child)) # same class print(issubclass(Super, tuple)) # no inheritance print(issubclass(Super, object)) # object is the base class
输出:
True True True False True
具有类元组的Python issubclass()
print(issubclass(GrandChild, (str, list, Super)))
输出:True
让我们看另一个示例,在该示例中,我们将检查OrderedDict是否为dict的子类。
from collections import OrderedDict print(issubclass(OrderedDict, dict))
输出:True
Python issubclass()与isinstance()
Python的issubclass()和isinstance()函数非常相似,除了前者适用于类,而后者适用于类的实例。