How to check if a type is a subtype of a type in Python?

How to check if a type is a subtype of a type in Python? I do not mean type instances, but a comparison of type instances themselves. For instance:

class A(object): ... class B(A): ... class C(object) ... # Check that instance is a subclass instance: isinstance(A(), A) --> True isinstance(B(), A) --> True isinstance(C(), A) --> False # What about comparing the types directly? SOME_FUNCTION(A, A) --> True SOME_FUNCTION(B, A) --> True SOME_FUNCTION(C, A) --> False 
+6
source share
1 answer

Maybe issubclass ?

 >>> class A(object): pass >>> class B(A): pass >>> class C(object): pass >>> issubclass(A, A) True >>> issubclass(B, A) True >>> issubclass(C, A) False 
+17
source

All Articles