简体   繁体   English

python中isinstance的issubclass相当于什么?

[英]What is the issubclass equivalent of isinstance in python?

Given an object, how do I tell if it's a class, and a subclass of a given class Foo? 给定一个对象,我如何判断它是否是一个类,以及给定类Foo的子类?

eg 例如

class Bar(Foo):
  pass

isinstance(Bar(), Foo) # => True

issubclass(Bar, Foo) # <--- how do I do that?

It works exactly as one would expect it to work... 它完全像人们期望的那样工作......

class Foo():
    pass

class Bar(Foo):
    pass

class Bar2():
    pass

print issubclass(Bar, Foo)  # True
print issubclass(Bar2, Foo) # False

If you want to know if an instance of a class derived from a given base class, you could use: 如果您想知道从给定基类派生的类的实例 ,您可以使用:

bar_instance = Bar()
print issubclass(bar_instance.__class__, Foo)

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

相关问题 在参数化泛型中,isinstance和issubclass中的mypy差异从python 3.5到3.6 - mypy differences in isinstance and issubclass from python 3.5 to 3.6 in parameterized generics 在python中,有一个静态等价于isinstance吗? - In python, is there a static equivalent to isinstance? isinstance() 和 issubclass() 返回相互冲突的结果 - isinstance() and issubclass() return conflicting results 哪个相当于 Java 的“isinstance”(Python)? - Which is the equivalent of “isinstance” (Python) for Java? 如何创建作为另一个类的子类但未通过issubclass和/或isinstance测试的Python类? - How to create a Python class that is a subclass of another class, but fails issubclass and/or isinstance tests? 当从未调用issubclass()时,Python在issubclass()上引发TypeError - Python throws TypeError on issubclass() when issubclass() is never called python isinstance vs hasattr vs try / except:什么更好? - python isinstance vs hasattr vs try/except: What is better? Python asyncio:什么满足`isinstance( (generator-based coroutune), ???) == True`? - Python asyncio: what satisfies `isinstance( (generator-based coroutune), ???) == True`? 用于 isinstance() 检查的 dict_keys 的显式 python3 类型是什么? - What is the explicit python3 type for dict_keys for isinstance() check? python isinstance无法按预期工作 - python isinstance is not working as expected
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM