想在ClassA的父类ClassB里判断ClassA是否继承了一个接口
在ClassB的父类ClassC中可以使用isinstance()函数来判断ClassA是否继承了一个接口。isinstance()函数接受两个参数,第一个参数为要判断的对象,第二个参数为要判断的类型。如果对象是指定类型或者是该类型的子类,则返回True;否则返回False。
以下是一个示例代码:
class ClassC:
def check_interface(self, obj):
if isinstance(obj, SomeInterface):
print("ClassA继承了SomeInterface")
else:
print("ClassA没有继承SomeInterface")
class ClassB(ClassC):
pass
class ClassA(ClassB, SomeInterface):
pass
class SomeInterface:
pass
obj = ClassA()
b = ClassB()
b.check_interface(obj)
输出结果为:
ClassA继承了SomeInterface
在示例代码中,ClassA继承了ClassB和SomeInterface,ClassB继承了ClassC,因此可以在ClassC的check_interface()方法中使用isinstance()函数来判断ClassA是否继承了SomeInterface接口
原文地址: https://www.cveoy.top/t/topic/iRPf 著作权归作者所有。请勿转载和采集!