Mat*_*o12 1 python instanceof isinstance
Python文档说isinstance需要类的实例对象和类信息.问题是:我只有2个类信息对象,必须检查class_inf1是否是class_inf2的一个实例
例:
class Foo(object):
pass
class Bar(Foo):
pass
# It should check if Bar is a instance of Foo. Bar can either be one of many subclasses or
# the same class.
isinstance(Bar, Foo)
# i.e.: the function I'm looking for should be working as if Bar was an object:
isinstance(Bar(), Foo)
Run Code Online (Sandbox Code Playgroud)
在我更复杂的代码中,我不知道Bar是什么,因为它是一个变量.我无法初始化它,因为我不知道它需要什么参数,它也可能做一些讨厌的事情.(而且我永远不需要初始化这个变量,因为它是一种测试).
小智 6
你的术语相当困惑,但我最好的猜测是你要检查一个类是否继承自另一个类.这是通过issubclass内置实现的:
class B(object):
pass
class D(B):
pass
print issubclass(B, object)
print issubclass(D, B) # true
# order matters:
print issubclass(B, D) # false
# it's transitive:
print issubclass(D, object)
# a class is a subclass of itself:
print issubclass(B, B) # true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |