📜  Python issubclass()(1)

📅  最后修改于: 2023-12-03 15:34:01.810000             🧑  作者: Mango

Python issubclass()

issubclass() 是 Python 内置函数之一,用于检查一个类是否是另一个类的子类。它的语法如下:

issubclass(class, classinfo)

其中 class 表示待判断的类,classinfo 表示可能是父类的可能是父类元组,其语义为:

返回一个布尔值,指示参数 class 是否是参数 classinfo 中任何一个类的子类。

示例
class Parent:
    pass

class Child(Parent):
    pass

print(issubclass(Child, Parent))  # True
print(issubclass(Parent, Child))  # False

在这个例子中,我们定义了一个父类 Parent 和一个继承自父类的子类 Child。通过 issubclass() 函数,我们检查子类 Child 是否是父类 Parent 的子类,得到了返回值 True

多重继承

对于多重继承的情况,issubclass() 函数也能正常工作。当 classinfo 参数是元组时,issubclass() 函数会对元组中的每个类做出相应的判断。

class A:
    pass

class B:
    pass

class C(A, B):
    pass

print(issubclass(C, A))  # True
print(issubclass(C, B))  # True
print(issubclass(C, object))  # True

在这个例子中,我们定义了三个类 ABC,其中 C 继承自 A 和 B,因此符合 C 是 A 和 B 的子类的判断。

总结

通过 issubclass() 函数,我们可以方便地判断一个类是否继承了另一个类。尤其对于多重继承的情况,issubclass() 函数还能很好地处理。