【发布时间】:2014-01-10 20:39:32
【问题描述】:
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)
在我更复杂的代码中,我不知道 Bar 是什么,因为它是一个变量。我无法初始化它,因为我不知道它需要什么参数,而且它也可能会做一些讨厌的事情。 (而且我永远不需要初始化这个变量,因为它是一种测试)。
【问题讨论】:
-
没有“类信息”对象。类本身就是一个对象,它就是您正在处理的那些类对象。清除那些 Java 主义的思想 :-)
标签: python instanceof isinstance