繁体   English   中英

如何检查类型是否是 Python 中类型的子类型?

[英]How can I check if a type is a subtype of a type in Python?

如何检查类型是否是 Python 中类型的子类型? 我不是指类型的实例,而是比较类型实例本身。 例如:

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

也许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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM